Move the constants of ZooKeeperLauncher to the companion object.
Add Mongo trait.

MongoController can be mixed only in Controller. Add Mongo trait that can be
composed into any Scala class.
Rename SystemMetricsActor to SystemMetricsMonitor.

SystemMetricsMonitor is a more appropriate name because it is used to monitor
different types of system metrics.
Introduce SystemMetricsSupervisor.

This patch makes SystemMetricsMonitor a child of SystemMetricsSupervisor.
SystemMetricsSupervisor will supervise system metrics related actors.
Write system metrics to the database through SystemMetricsWriter.

Make SystemMetricsSupervisor query the current system metrics every 10 seconds
and write them to MongoDB's "admin.metrics" collection through
SystemMetricsWriter.
Use Map.empty for empty receive.

{ case _ => } siliently ignores any message given to this function. This makes
debugging hard. Use Map.empty instead so that
akka.actor.UnhandledMessage(message, sender, recipient) will be published to
the ActorSystem's EventStream.
Turn akka.actor.debug.unhandled on only in dev mode.

This option converts UnhandledMessages into actual Debug messages. This is
useful in dev mode, but too verbose in other modes.