Switched click event handling to the router.

For #319
Add self link
Call `Router.go` from onclick handler, to ensure that unload gets called at the right time.

For #374
Don't route if the URL hasn't changed.

(Also the beginnings of _location being an option).
For #319
Use debug flag
Made location an option to configure.

For #382
Added a LocationMock and a test that unload is called at the right time.
Made location mock a class
Added a test that set doesn't get called twice
Moved the onClick handler inside the router
Merge remote-tracking branch 'origin/blaze-integration' into new-location

Conflicts:
	lib/client/router.js
	test/client/router.js
Merging..
Got *my* tests passing again
Simplified the basic example to get it working..
We may as well let Router.go pick out routes we can't handle.
Re-fixed problem with links to public assets
Merge remote-tracking branch 'origin/blaze-integration' into new-location

Conflicts:
	lib/router.js
Merge remote-tracking branch 'origin/blaze-integration' into new-location

Conflicts:
	lib/client/router.js
Merge remote-tracking branch 'origin/blaze-integration' into new-location
Fixed a link handling bug