Use Typesafe config for settings

https://github.com/typesafehub/config

Practically standard in the Scala world where application developers
can have library configs merged in with their app's.

Updated all the references in the request methods to use `settings.key`
instead of setting local vals for them in order to set the stage for
optional keys noted in a TODO -- they would become lazy vals and we'd
defer referencing them until we want to handle within a Try.
README revamp

The way I typically want to evaluate simple-ish libraries:

 1. Terse intro.
 2. Show me how sexy some code looks.
 3. Okay looks pretty sweet, how do I get it running?
 4. I'm intrigued enough to want to see more of what it can do now.
 5. *Maybe* I want to know more about implementation details.
 6. I'm going to hack on this, how do I run tests?

My totally subjective sensibilities, but I just want less verbiage
before an example and installation procedure.
Remove extraneous docstrings
Track SBT version for reproducible build setup
Use the built-in sbt integration test setup

http://www.scala-sbt.org/release/docs/Detailed-Topics/Testing#integration-tests

Might want to get Betamax going someday.
Express HttpAdapter dependency with cake-style trait
Use spray-client, host-level API, and move API root into config

The lower-level spray-http APIs are more awkward to work with, spray-
client's pipelines expose request building and transformation in a
simpler way.

The host-level API makes perfect sense because what we need is a pool
of connections to one host:

  http://spray.io/documentation/1.2.1/spray-can/http-client/host-level/#hostlevelapi

Moving API root to config gets rid of boilerplate constructor params
while still making it easy for Keen to, for instance, use staging/dev
hosts internally.

NOTE: Content-Type is still broken here, see 213f246cf40.
Factor HTTP methods into adapter interface