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.
Fix failing tests
Fix support for bindToRoute triggered in handler
Add additional tests for double route bindToRoute
Improve bindToRoute same fragment docs
Ignore routes for bindToRoute before started

For a variety of reasons getFragment can not be trusted prior to started, so for binds in these cases treat them as pending immediately.

Fixes #311
Fix bindToRoute tests for latest iter
Merge pull request #370 from walmartlabs/bind-to-route-leak

Always cleanup bindToRoute