[fixed] Abort pending transition if user navigates away

Previously, navigating (by clicking Back button or a link) while a transition in progress would put router into an inconsistent state.

Now, a pending transition will be aborted by the router if user navigates away while it was pending.

Fixes #479
Did you mean to use `assert` here?