Move path into RoutingEnvironmentMixin state

Routers are now just expected to be able to match paths and render based on the
current state.
Let's call it setState

It's not just an event handler since it *must* invoke the callback it's passed.
Be more defensive
Remove guard against navigating controlled components

RRC allows you to navigate on contextual routers. This is a little different
than regular controlled components in that they do have their own state—it's
just a lens onto a larger state. Ideally, in the future, navigation wouldn't be
allowed on truly controlled components—that is, routers who are given their path
as a prop explicitly and only change when given a new path prop explicitly by
their parent component.
Notify all routers of navigation
Merge pull request #35 from matthewwithanm/path-state

Store path in state