[imp #18] Switch http backend to spray

This rewriting was motivated by some scalability problems encountered
with the previous Http library. Relying on spray adds a new dependency
to akka, which may seem quite a heavy dependency, however, akka is a
well tested and widely used piece of software that scales really well.
It also allow us to fine tune requests, especially streaming requests.
To make it short, I am convinced that it is worth adding such a
dependency for all the benefits it brings to us.

This also introduces some changes in the asynchronous API which become
much cleaner, removing the need to deal with annoying `Either` objects.

The implementation was also cleaned up to adapt to the new underlying
Http library, which allowed me to write things in a better way.

As this change introduces a lot of new stuffs and involves heavy
rewriting of the library, I decided to make it a major version, bumping
it directly to 1.0.0 (switching to semantic versioning at the same
time).

closes #18