Prototype `serve` command.

The server could potentially be used to:

- display published documents
- reserve new item IDs
- provide REST interfaces to other viewers or clients

-----

TODO:

- [x] wait for #84 
- [x] prototype REST APIs
    - [x] make everything return a dictionary
    - [x] add `POST` to reserve UID numbers
    - [x] ~~add a temporary document file to store the last number~~ (moved to #130)
    - [x] add unit tests: http://bottlepy.org/docs/dev/recipes.html#unit-testing-bottle-applications
    - [x] add integration tests
        - [x] make integration tests pass
    - [x] ~~make prefixes and UIDs clickable~~ (moved to #130)
- [x] select a default port: http://serverfault.com/questions/610058
- [x] implement CLI for the server (above)
    - [x] ~~determine if requiring a server should be the default~~ (moved to #130)
    - [x] clean up new TODOs
    - [x] fix call `doorstop -s`
- [x] re-enable CI