[added] pluggable history implementations

Mostly just cut/paste code into various locations handlers.  A nice side-effect is that we could use the `memoryHandler` for rendering on the server-side I would imagine.  Just need to support passing in the `currentPath` somehow.

All tests should be passing.  As @mjackson warned me, I did have some trouble with the tests, but they should all be passing now, and I think the coverage isn't too bad.

This location handler API will make it easy to plug in HistoryJS support now.

closes #166