User may create overheard with posted json

Fixes #3 

This is a relatively large set of commits. At a high level, there's some really important stuff happening here:

1. We're starting to build an API!
2. We introduce testing an HTTP API
3. We begin to include documentation in our repository
4. We start using JSON to accept and expose data; as opposed to just HTML.

Now for :wine_glass:!