No-op transitions don't overwrite URLs

This avoids unnecessary URL-overwriting which was causing some problems
in certain corner cases where an error route (which doesn't want to
overwrite the URL) was being redirected back to and incorrectly
overwriting the URL.