Don't re-update hash with "!" if hash was set without "!"

This prevents putting two history entries in to the window history for a route update.

Note that prior to this fix, it wouldn't cause the route bindings to fire twice, since once deparamed, it would be the same route.  It just makes two history entries.