Convert otter to non-global state Klein (ready for review)

This pull request converts otter to no longer have a global state, or use a global store. It is refactored into a collection of Klein applications with the primary application being Otter.

This is somewhat big, but that is to be expected of a large refactor.

Issues:
 - 3 objects are still global: config, supervisor, and bobby.