Remove dependency on underscore.js

* remove some unused code from router.js
* rename activeState* to activeRoute*
* activeRoutes now returns an array of routes, or if name is passed in the route specified
* can't pass in location as string - it should always be a location object
*
Cleanup the code

* rename get_handler_function.js to handler_creator for consistency
* make route_creator return a function that makes a function for consistency with handler_creator
* remove unused code in router.js
* urlChanged cb now needs to be passed in via options as onURLChanged
* new option onDidTransition that is similar to onURLChanged, but calls back with a route name
* reorganise methods in router.js - public first
Rename destroy to deactivate
Docs: working on the README