Allow running client or server only tests
Client tests should now output logs
Update many dependencies
Move the mocha run test to the js #cleanup
Defer the start of routing until the next tick

By deferring until the event loop is done processing, we're sure that
the router object has been created and assigned to a variable. This
ensures that the router's variable will be available to the views it
renders.