Check sigar is registered before register.

Currently, SigarRegistry is registered whenever SystemMetricsMonitor is
restarted. But it is wrong, it causes InstanceAlreadyExistsException
when SystemMetricsMontor restarts.
Add TickGenerator.

TickGenerator sends a Tick message to itself with interval.
TickGenerator is self-typed trait for Actor, so it has to be mixed with
Actor.

TickGenerator adds hook on postStop of Actor, but self typed trait cannot
call the method of mixed trait. So TickGenerator extends PostStopCaller
that has only one abstract method postStop.

TickGenerator's postStop method is an abstract method, because
TickGenerator inherits PostStopCaller and it's postStop method is an
abstract method.
The class who mixes TickGenerator must implements postStop. And it is
not a problem, because TickGenerator is self-typed trait of Actor.
Make ZooKeeperLauncher use TickGenerator.

Currently ZooKeeperLauncher uses their own tick scheduler. This patch
makes ZooKeeperLauncher use TickGenerator instead of use their own tick
scheduler.
Make MongoDBLauncher use TickGenerator.

Currently MongoDBLauncher uses their own tick scheduler. This patch makes
MongoDBLauncher use TickGenerator instead of use their own tick
scheduler.
Make SystemMetricsSupervisor use execution context of Akka instead of Play.
Make SystemMetricsSupervisor use TickGenerator.

Currently SystemMetricsSupervisor uses their own tick scheduler. This
patch makes SystemMetricsSupervisor use TickGenerator instead of use
their own tick scheduler.