test suite cleanups

This gets Deas on our latest testing conventions.  This includes:

* update to the latest Assert
* remove assert-mocha as the latest assert supports native stubbing
* add in a Factory class
* fully switch to our `UnitTests` base class convention

No behavior changes - just cleanups to the tests.
Merge pull request #123 from redding/kr-cleanups

test suite cleanups
router `base_url`

This adds a new router setting: `base_url`.  Use this to define a
global base url value for the router and any server using the
router.  Values should be in the form: `/my-url`.

Using this value, all urls defined in the router will be hosted
relative to the base url.  Conversly, any urls generated from a
named url will have the base url prepended to them.

In addition, the template scope now exposes the `router` to the
templates.  It also adds a method, `url_for`, for generating
urls that honor any base url setting.  This should be used when
there is no named url to generate from.

All this allows you to host and reference your views with a common
relative url.