Merge branch 'develop' of github.com:akvo/akvo-rsr into feature/632_rest_framework
[#632] Rename rest/rsr_project to rest/rsr_api_upload

Also a little cleanup
[#710] Scripts for importing RAIN IATI data

Initial commit of scripts for RAIN's IATI import. The scripts are based
on the Cordaid IATI scripts, but the pre- and post processing in
particular are quite different.

Current state: Org import done, except handling of content ownership. IATI
XML import done also missing content ownership if that's needed. Post
processing missing project image import.

The scripts need to be "locked down" to a RAIN user account, i.e. only a
user belonging to RAIN can run the scripts. Or an impersonation allowing
Akvo staff users to run the scripts.
[#710] Move support classes Requester and ImageImporter
[#710] Fix routing bug

The router config in urls.py needs the base_name attribute for
ProjectUpdateExtraViewSet and ProjectUpdateViewSet registration to
display properly in the root api list, /rest/v1/.

Also fix comma placement in the __init__.py files of serializers and
views.
[#710] Add filtering on ID for ProjectResource
[#710] Add selector to find internal project ID for RAIN activities
[#710] Improve ImageImporter.get_from_url()

Add exception handling when Requester throws an exception.

Set ImageImporter.filename. This is used when generating the file name
when saving the image to a django model.
[#710] Import Requester and IamgeImporter from api_utils
[#710] Add RainActivity class

RainActivity is used to map data in the IATI activity to RSR fields. It
is used in rain_project_upload.py and post_import.py.
[#710] Remove debug break point
[#710] Add identify_rsr_project()

identify_rsr_project() queries the RSR API to find a project using
1) the RSR ID, 2) the IATI ID and 3) the RAIN internal ID if available.

If a project is found in multiple ways it also asserts that it is the
same project that is found by all methods.

Modify upload_activities() to use identify_rsr_project() and the
RainActivity class.
[#710] Better logging for post_import.py
[#710] Use ugettext instead of ugettext_lazy

ugettext_lazt causes problems when used in Country.fields_from_iso_code()
and since iso3166.py is "static" I can't see any problem with switching
to ugettext.
[#710] Enable filtering on ID for organisation

This simplifies the use of the API when looking for an organisation in
multiple ways.
[#710] Content ownership check and better error messages

Add check that no other organisation is the content owner when updating
organisations, and set the content owner to RAIN for created
organisations.

Better logging with more detailed errors.
[#710] Fix missing logo problem

Only add the logo key to the organisation dict if there is a logo to
fetch, otherwise the API protests.
[#710] Get correct data for internal_org_id field from RAIN XML
[#710] Change partnership API resource helper function get_organisation()

It now tries to find an organisation first by IATI ID and then by internal
organisation ID.
[#710] Better errors for rain_project_upload.py