feat(pipeline): pass the navigation context to the pipeline provider

Previously, the pipeline provider had no context for its pipeline
creation process. Normally this is fine as the pipeline is the same for
every navigation request. However, with a simple modification, we can
provide contextual information to the provider so that a developer could
use that to return pipelines configured differently based on the
situation.