have Urls generate paths given named/ordered params

This adds behavior so that a Url can generate a path for given
parameter data.  Params can be name (given as a Hash) or ordered
and will be applied to the source path appropriately.

This also adds a convenience `url` method on the server for looking
up a named url and generating a path given some params data.

This is the other half to #84.  You can now name _and_ generate urls.  Like #84, this also addresses parts of #77.

@jcredding ready for review.