Default constructor, used to create a new, fresh PipelineContext. Normally, only one of these should be created
per Pipeline instance, and scoped PipelineContexts should be created per-Stage via newScopedContext().
Create a scoped PipelineContext from the current PipelineContext. Properties and metrics will be inherited. Each
level of scoping provides a new set of properties, but they will all share a single MetricsRegistry for metrics.