Clean service shutdown order in LoginManager

Ensures that the LoginCellFactory and executors are not shut
down before we are done using them.

Changes the LoginCellFactory interface to inherit from
Guava's Service class, thus exposing methods for both
starting and stopping a factory.

LoginManager shutdown logic is altered to shut down child
instances during LoginManager shutdown. Since the
LoginCellFactory is shut down, shared resources would be
deallocated when LoginManager terminates, thus possible
rendering child instances dead.

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