transition.retry() use previous router state as backup

If a retried transition doesn't have enough
contexts stored in it to fully construct a route,
it will reuse context objects from the previous
router state before the original transition was 
attempted.