Route and Navigator Refactoring

Summary

Context

Description of change

Migration guide

Timeline

References

Summary

Context

We refactored the navigator APIs to prepare for the new page API
and the introduction of the Router widget as outlined in
the Router design document.
This refactoring introduced some function signature changes
in order to make the existing navigator APIs continue to work
with the new page API.

Description of change

The boolean return value of Navigator.pop() was not well
defined, and the user could achieve the same result by calling
Navigator.canPop().
Since the API for Navigator.canPop() was better defined,
we simplified Navigator.pop() to not return a boolean value.