Fixed Orchestrator log on status page.
Refactored InstanceListener and ZooKeeperInstanceListener.

Added InstanceMonitor interface and made ZooKeeperInstanceListener (renamed to ZooKeeperInstanceMonitor) implement it instead of InstanceListener. Repurposed InstanceListener interface to be a listener that can be added to the monitor to be notified of events. Orchestrator now simply adds a custom listener instead of creating an anonymous extension of ZooKeeperInstanceListener and implementing the onInstance* methods.