[BUGFIX release] The router should cleanup itself upon destroy.

Prior to this change the router did not cleanup its location object upon
destroy. This caused multiple transitions to be triggered after an
`App.reset()` call.

Resolves #3669.

@twokul / @rjackson