[#749] Add RSR version header middleware

The middleware adds a response header of the format:

X-RSR-Verision: "Tag:<tag name> Commit:<commit hash> Branch:<git branch name>"
[#768] Add IDs to user and organisation in project_update_extra
[#769] Add filtering on created_at to project_update_extra

Add filtering to project_update_extra that returns only updates newer than the time queried for.

The querystring is on the form created_at__gt=YYYY-MM-DDTHH:MM:SS
[#749] Merge branch 'develop' of github.com:akvo/akvo-rsr into feature/749_rsr_version_header
Merge pull request #773 from akvo/feature/768_rest_id_fields

Code checked
Merge pull request #772 from akvo/feature/769_timestamp_filtering

Code checked
[#769] Add filtering on last_modified_at to project_update_extra
Merge pull request #777 from akvo/feature/769_timestamp_filtering

Code reviewed
[#769] Copy filters from project_update_extra to project_update
Merge pull request #778 from akvo/feature/769_timestamp_filtering

Code checked
[#632] Add location_target to OrganisationLocationSerializer

Previously the location_target field was hidden in
OrganisationLocationSerializer to avoid emitting the organisation data
twice in the project_update_extra resource, since it includes (via
several intermediate serializers) the
OrganisationLocationExtraSerializer which in turn has a depth=1
resulting in the full location_target (i.e. the organisation) being
rendered inline to the location!

However for the Swagger API documentation to display a reasonably
accurate picture of the relationship between loactions and their
tagets/parents the location_target field should be included.

The solution is to specify location_target as a vanilla serializer.Field
and use the source attribute to retrieve the corect data (in this case
the ID of the Organisation).
Merge pull request #771 from akvo/feature/749_rsr_version_header

Code checked
Merge pull request #800 from akvo/feature/632_rest_framework

Checked
Merge branch 'release/candidate' into develop
[#799] Updated IATI activity ID generation

New rules for generating the IATI activity ID:
1. Look whether the activity ID is filled in for the partnership of the support partner
2. If not, generate the activity ID based on the organisation ID + the Akvo project ID

Also, the related activity ID's are added as such, either from other partnerships or from the 'related activity id' field on partnership level.
[#796] Re-added Invoice signal
[#820] Fix exception in ProjectUpdateResourceExtra.dehydrate()

primary_location_data_for_update() in
ProjectUpdateResourceExtra.dehydrate() throws an unhandled exceltion if
the organisation or project doesn't have a primary location.

Since we don't require orgs to have a location wrap the creation of the
primary_location dics in a try-except and return None if there's no
location.
Merge pull request #821 from akvo/feature/820_fix_updates_extra

Looks good
[#769] Added empty line at end of file
[#796] Added extra empty line before function