Copy ManagedFilterPipeline/ManagedServletPipeline
to AbstractFilterPipeline/AbstractServletPipeline.
Refactor ManagedFilterPipeline/ManagedServletPipeline to
extend AbstractFilterPipeline/AbstractServletPipeline.

Move as much base functionality into the abstract classes,
except collection of the filter and servlet definitions.
Expose AbstractFilterPipeline/AbstractServletPipeline and types
necessary for the construction of alternative implementations.

Hide any methods of newly-public types that shouldn't be exposed.

Make the GuiceFilter constructor protected to allow sub-classes
to provide alternative implementations of the FilterPipeline that
collect filter and servlet definitions by other means.