add little type trait for sweeper

the type trait 'has_factory' for sweepers can be used in static
assertions to ensure a given sweeper template provides a way to access
and set the encapsulation factory