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
Hypothesis
Frontend part of overrides (eg. headline)
Merge branch 'master' into fronts-trail-meta
Don't populate overrides
Fix contentApiQuery to default to None and also not send from client when empty
adding a SectionFront trailblock
setting page size to however many articles there are
Remove story feature
Cardify first inline link in article