Always cleanup bindToRoute

If someone is explicitly calling `Backbone.history.loadUrl` on the same
route then the bindToRoute logic will leak as the event handler is never
cleaned.

Since this is something that presumably is relatively rare and backbone
itself does some cleanup and routing events in response to this,
restructuring the bindToRoute handle so that it will terminate the bound
events in response to any route event.

/cc @eastridge @ryan-roemer @candid