Models: fixes for split locations

Add app_label to all models to work with split locations. Fix pep8 related
changes, made protocol spaces and location purposes alphabetical.
Clean up constants.py

Import models and forms, instead of individual classes. Move everything
inside PROTOCOL definition.