Giant Refactor

- threadsafe
- add concept of stacks to allow extension of init, load, route,
  process, and error processes from outside of the application (used by
  presenter)
- remove router/presenter middleware in favor of stacks
- refactor `Presenter` to be consistent with `App` and `Binder` to be
  consistent with `Router`
- new syntax for defining an app
- rename `Application` to `App` throughout
- rename `Configuration` to `Config` throughout
- change format of log statements
- ability to set/retrieve custom config options on config.app
- remove ability to map routes to controller class
- remove ability to map bindings to a binder class
- refactor restful binding to update bindable paths for view and relateds
- ability to refind bindings
- when prepending a view, set `self.doc` to `doc` if `self` has no
  children
- remove `PresenterBase`, so `App` now has no concept of a presenter
- remove several old view methods
- add helper method `mailer` for easier mail creation
- refactor view stores to be threadsafe; view methods do not know what
  the current store is and must be told