rename `url` to `url_for`; add `url` method for defining named urls

This renames the previous `url` method to `url_for`.  For one, this
is a more descriptive name: give me the _url for_ the named url and
data.  Also, this frees up the `url` method to be used to define
urls much like `route` defines routes.

This new `url` method is needed to define a named url without routing
to it.  You may  want or need to define a url but don't want a route
handler for that url.  This allows for that.

This will be used in a future PR where you can build redirects from
existing urls, btw.

@jcredding ready for review.  Are you OK with this rename?  I wanted a method to define urls like routes but wanted that method to be named `url`.  Let me know what you think.