refactor: updating api, adding tests, simplifying architecture

This refactor fixes a lot of the problems around the earlier
version.

  - proper exit/reload handlers
  - new spawning architecture
  - remove boot time requirement
  - better support for servers vs. plain workers
Merge pull request #8 from segmentio/refactor

refactor: updating api, adding tests, simplifying architecture