When uploading datasets, the code uses a `bulk_create` to upload
Examples and Labels. It then filters the data from the database
based on when it was created. However, [Django doesn't enforce
the list order when calling filter](https://stackoverflow.com/questions/7163640/what-is-the-default-order-of-a-list-returned-from-a-django-filter-call)
unless ordering is specified. The previous behavior mismatched labels
and examples. When this was shown in the UI, the data would show labels
for incorrect examples (i.e. a label for message #2 would be shown on
message #1). This fix enforces that the data is returned in the order
it was inserted so that the data, label pair is as expected.
Currently we use the unique_together constraint to ensure that if a label has a
shortcut key combination, no other label has the same combination.
However, on SQL Server, the unique_together constraint also looks at null
values which breaks the unique_together constraint since we now can no longer
have two labels without shortcut keys. The error message is as follows:
```
Violation of UNIQUE KEY constraint 'api_label_project_id_prefix_key_suffix_key_1b3d8f77_uniq'.
Cannot insert duplicate key in object 'dbo.api_label'.
The duplicate key value is (32, <NULL>, <NULL>).
```
Moving the validation logic from the database into Django fixes the issue and
makes the constraint clearer.