[#632] Use BaseRSRSerializer

To be able to POST data with ID's as integers switch to BaseRSRSerializer
[#632] Add Base64ImageField

Add Base64ImageField and use it in ProjectSerializer and
OrganisationSerializer to be able to load base 64 encoded image data.
[#632] Add JSONParser to OrganisationViewSet
[#632] Add script to import data into RSR using the rest API

create_rsr_data.py is a stand-alone script for loading data into RSR
using the Django Rest Framework (DRF) based API.

The data must be in JSON and of the format that the RSR DRF API uses.
[#632] Example data to use with the create_rsr_data.py script
[#632] API filtering on name and iati_org_id for organisation

Add simple filtering of organisations on the name and iati_org_id fields.
This is used to find orgs in create_rsr_data.py
[#632] Enable the adding of Partnership objects

To be able to add Partnerships to Projects a way to do lookup of the
Organisation linked to in the Partnership is needed.

This solution does lookup via the API using the Organisation.iati_org_id
field primarily and if that does not exists lookup is done using
Organisation.name.

Add RSRModelInstance.partnership__organisation method.

Add more docstrings and comments.

Several small code fixes.
[#632] Add data to JSON files

Add partnership objects to project_1.json

Fixes to organisation data.
[#646] Add ProjectUpdateLocation model

Add ProjectUpdate.primary_location field

Add ProjectUpdateLocationInline
Merge branch 'feature/678_iati_fields' into feature/646_update_location
[#646] Add migration for ProjectUpdateLocation
Merge branch 'feature/646_update_location' into feature/632_rest_framework
[#632] Add NonNullCharField

The NonNullCharField patches the behaviour of the standard CharField, it
returns u'' if the value is None.

See discussion at
https://github.com/tomchristie/django-rest-framework/pull/1665/. Also
note that it seems the whole Serializers part of DRF is up for a
refactoring so this is to be considered a temporary fix (hopefully).
[#632] Add ValidXML field mappings

In RSR we use ValidXMLCharField and ValidXMLTextField in stead of the
vanilla Django Char and Text fields. DRF maps Django fields to its own
fields, but uses the fallback ModelField when it finds the RSR fields.

Fix by hooking into __init__ and adding mappings for the RSR fields, and
using the NonNullCharField to ensure that emtpy text fields return u''
rather than None.
[#632] Add serializer for ProjectUpdateLocation

Add ProjectUpdateLocationSerializer

Add ProjectUpdateSerializer.locations linking to the locations.
[#632] Add ProjectUpdateLocationViewSet
[#632] Add new DRF settings

Add settings for DEFAULT_RENDERER_CLASSES and DEFAULT_PARSER_CLASSES.
[#632] Fix NULL URLField

The URLField suffers from the same problem as Char and Text fields, i.e.
if they are missing from the POST they are set to None by the serializer,
resulting in protests from the DB when saving.

Fix by creating NonNullURLField as a mixin class inheriting from
NonNullCharField and URLField.
[#632] Enable image uploading for project updates

Set ProjectUpdateSerializer.photo = Base64ImageField allowing base64
encoded images to be included when posting project updates.
[#632] Return full path to images

The Base64ImageField only returns the internal path to the uploaded file
location. Fix by prepending settings.MEDIA_URL.