cells: Add factory for login cell creation

Rather than letting LoginManager create login cells purely
through reflection, this patch introduces a factory with
a well defined interface to do the job. Factories are
created through a service provider interface.

A legacy provider implements the old reflection based
instantiation.

The benefit of the factory is that it can maintain shared
state for login cells, such as shared thread pools.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: http://rb.dcache.org/r/6292/