refactored API views, serializers, mixins, and models

The project model has a default serializer. In addition, it now also has a default ManageProjectSerializer and ProjectPreviewSerializer. These serializers are defined in the Meta class of a model.

The API views for a project are updated with the new mixins to load the correct serializer_class for a view.

In a "site" (e.g. Booking or 1%) a developer can now override a serializer and specify his own.