redding/deas — pull request #94 by kellyredding (2013-07-11 17:34:44+00:00)
Title: move all server routing concerns into a `Router` object

This defines a new object, `Router`, that encapsulates all routing
concerns for a server. This also updates the server's routing
and configuration to use a router instance.

There is no change to the Server api. You still define routes on
a server like you did before and everything works as it did.

This does add some new routing options. You can now define a router
independent of the server. This allows you to define and access
urls and routes without _having_ to define and initialize a Server.
You can define a custom router and tell your server to use it.

To summarize, this decouples routing from server definition.

@jcredding ready for review. Does this line up with what you had in mind when we talked this morning?