[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
Should we have one more step here that basically just asserts "Foo" is still rendered after the delay and calls `done`?