models.py:
- override SampleCompensationMap.clean() to verify the site for both the sample and compensation is the same.

serializers.py:
- new serializers for Compensation and SampleCompensationMap models.
api_views.py:
- add permissions check for SampleCompensationMap to PermissionRequiredMixin
- new api view: SampleCompensationCreate

serializers.py:
- new serializer SampleCompensationPOSTSerializer, override get_fields to restrict form choices to user project stuff

urls.py:
- add route for api view SampleCompensationCreate