Add a choices_queryset method to DataField that allows a caller to perform efficient pagination on large value sets.

It is paired with a change in the serrano.resources.field.values.FieldValues.get method that uses the choices_queryset method instead of the choices method.

This is the minimal change needed; I didn't attempt any refactoring.  Also note that the choices_lazy method duplicates logic in the labels method (which itself duplicates logic in the get_label method).
autodiscover now logs warnings when module imports fail non-trivially
Fix PEP 8 infractions
Add tests for DataField.choices_queryset