Added basic `Router.before()` syntax.

First pass at this. 

Added tests and it seems to work as advertised. Questions remain about 

a) if I'm doing it in the right spot (I think I am)
b) if we should do the same for one or more of `load`, `unload`, and `after`.
c) if you should also be able to `Router.configure({before: ..})`

For #207