Add logging and some tidying of ID API client
Add Exception handling to Http classes

We now return Either in more places. This lets us use Left to describe
exceptions in the Http library to save the Api developer having to
catch all the possible exceptions for each supported HTTP library.
Add tests for JsonBodyParser
Add headers to the Auth trait for more flexibilty
Adding tests for the Http implementations
Add support for async Http

This is done using a higher kinded type in Http. We use the Identity
Monad for syncronous APIs and Scala's Future Monad for asyncronous.
Add dispatch Http implementation
Add abstraction so APIs can be created for (a)sync

APIs can now be created in a Sync/Async agnostic manner. That is, by
extending Http[F] rather than Http[Id/Future]. This allows the API
client user to choose the type of Http implementation they wish to
use.
Begin to add tests for the IdApi client
Remove [F[_]] in favour of Futures everywhere

Removes the Monad utils in favour of a purely Future-based
approach. This is achieved using Promise to provide synchronous
responses, along with a local thread execution context.

Also adds tests for the newly Futured IdApi and fleshed out the API to
meet the new tests.
Merge remote-tracking branch 'origin/master' into af-identity-signin-with-scala-client
Frontend part of overrides (eg. headline)
Merge branch 'master' into fronts-trail-meta
Don't populate overrides
Merge branch 'af-identity-signin-with-scala-client' into signin-form
Fixc deletion
Plug IdApiClient into SigninController

Also adds tests for the signin controller
interactives WIP
Merge remote-tracking branch 'origin/frj-siginout' into signin-form-with-id-api

Conflicts:
	identity/conf/routes
Remove ID from dev-build

Identity should be run on its own server. This has been documented and
configured.