Multitenant routing

__This is a breaking change.__

- Changes the signature of m.route to be `m.route(rootElement, routeMap, defaultModule)`.
- Adds `m.route.clear` method for the sake of clearing route tables during testing.
- Updates tests for new signature.
- Retools two tests because bound redirects do not work (see comment in #250).

---

I could not get around using `m.route.clear` for testing. I'm open to suggestions for better ways.

I did not update any documentation/typedefs. I am waiting until this code has been reviewed to spend time with that.

---

Please let me know what you think of this. It's a product of the discussions in #250 and #256.
In fact, this does not work correctly for making a default route, as the application will redirect when the controller is instantiated, and then render the associated view _after_ the redirection - the nesting can create issues with cached controllers. Some other solution needs to be thought up.