Organisation serializer and viewset

Incomplete
[#415] Add InternalOrganisationIDSerializer and
OrganisationLocationSerializer

Those serializers are used by the OrganisationSerializer.

Expand the list of fields exposed by OrganisationSerializer.
[#415] Add OrganisationLocationViewSet and InternalOrganisationIDViewSet

Both viewsets are used by OrganisationViewSet.

InternalOrganisationIDViewSet.get_queryset() is a custom filter that
returns an organisation when supplied with a recording_org and an
identifier.
[#415] Add AkvoOrganisationParser. Add authentication to viewsets.

The AkvoOrganisationParser is the class responsible for turning the
organisation XML into a python data structure that rest_framework can
handle and create/update organisations from.
[#415] Add TastyTokenAuthentication

TastyTokenAuthentication is a child of
rest_framework.TokenAuthentication that uses the ApiKey model from
tastypie. This way we can use the same APi keys for both APIs.
[#415] Register views.InternalOrganisationIDViewSet with the
rest_framework URL router.
[#415] Add new settings defaults and log message strings for use in the
organisation API upload script.
[#415] Add scripts/cordaid/organisation_upload.py

The organisation_upload.py uploads data about new and changed
Organisations using the Akvo API.

Given an input file in the Akvo Organisation XML format the script
creates or updates organisations. The scripts checks for the
existance of an organisation using the <org_id> tag in the XML.
[#415] Add Country.fields_from_iso_code()

fields_from_iso_code() provides all fields for a Country object given
the iso_code. This is used with County.objects.get_or_create() to be
able to automatically get an existing Country object or create a new one
when needed.
[#415] Add Organisation.org_type_from_iati_type()

org_type_from_iati_type() returns the Akvo organisation type given the
IATI organisation type. This is used to automatically populate the
Organisation.organisation_type field when importing organisations
via the API.
[#415] Add the username to fields exposed by UserResource

The username is needed to be able to query the API to find the user's
organisation which in turn is used when uploading organisations.
[#415] Add 'v1/' to the root URL for the rest framework API.
[#415] Use Organisation.org_type_from_iati_type in the pre_import
script.
[#415] Add 'rest_framework.authtoken' to settings.INSTALLED_APPS

The rest_framework API now requires an API key or a valid django
session cookie. Note however that the API key is required when uploading
data.
[#415] Add Django REST framework to requirements
Merge pull request #428 from akvo/feature/org_rest

[#415] Organisation upload using REST framework