Docs, api simplification, router macro

I can split this into multiple PRs if requested.

Main changes:
* un-ignore most doctests and make them pass
* simplify the Nickel api a bit
* add a macro for generating a router
* refactor shared Routing functionality to HttpRouter trait
* add a few type aliases to ease future changes
* removal of IntoMiddleware and IntoErrorHandler