Restricted users, channels and clients API to only allow admin access.
Resricted trasaction modification API call to admin users only.
Changed authorisation middleware and route middleware to only allow a single authorised channel.
Added ability to update a transaction with a channelID, added API authorisation utilities.
Restricted transaction get API calls to be restricted to only user with correct authroisation, changed API authorisation utilities to be promise returning functions, added some code comments.
Added unit tests for the API authorisation utilities.
Added unit test for get transaction by id authorisation.
Added unit tests for transaction listing authroisation.
Added unit tests for testing authorisation on admin only API calls.
Refactored transaction test so that the OpenHIM server isn't started and stopped all the time.
Refactored trasnactionAPI unit test suite to be neater.
Refactored how unit test do user auth to make it a more reusable. Random other neatness refactorings.
Fixed channels API authorisation and added unit tests for API authorisation checking.
Added API authorisation unit tests to clients API.
Added authorisation unit tests for the users API and added a missing user API unit test.
Removed unneeded console.log and changed some generator unit test names to be more consistent.
Merge branch 'master' into api-authorisation

Conflicts:
	src/model/channels.coffee
	test/integration/channelsAPITests.coffee
Refactored the tasks unit tests to be more consitant with the other unit tests.
Added authorisation for tasks.
Issue #55: Refactored router to process all routes before 'next'.
Store responses for non-primary routes in the context.
Create error for multiple primaries before routing.
Added timestamp for responses.