fix start routine to not rely on controller.location...

Instead, we'll keep the prev location stored in the start function and
compare the new location to the previous location that way. Thanks to
@saimeunt for pointing out the mistake and offering a suggested fix.

Also, invalidate the getParams computations if hash changes, when we do
the scroll to hash routine in the start function of router_client.js.