Add messages to SystemMetricsActor to retrieve memory usage.

Use MemoryMXBean to to retrieve heap and non-heap memory usage from the JMX
agent.
Add sigar to SBT library dependencies.

sigar provides system monitoring data such as:
- System memory, swap, cpu, load average, uptime, logins
- Per-process memory, cpu, credential info, state, arguments, environment, open files
- File system detection and metrics
- Network interface detection, configuration information and metrics
- Network route and connection tables

- Native classifier is used because sigar includes native libs
- copyNativeLibraries task is added to unzip sigar native libraries under target/native_libraries/

See
http://stackoverflow.com/questions/14966414/including-hyperic-sigar-library-within-jar-while-using-sbt-assembly-for-scala-pr
http://stackoverflow.com/questions/19303553/adding-libsigar-shared-library-in-sbt-project-without-using-java-library-path?rq=1
Add messages to SystemMetricsActor to retrieve swap memory usage.

Use SigarSwap MBean to retrieve swap memory usage.
Use an empty array as default data of RoutingTable in ZooKeeper.

Currently, JsonParseException is often thrown. This is because I parsed data in
the RoutingTable node only if it exists. I expected znode has null data when
znode is created without any data passed in, but Curator passes the client IP
as default if no data is given.

This patch passes an empty JsArray as data when RoutingTalbe node is created.
Override configuration with mode specific cofiguration.
Just get from configuration instead of get with fallback value.

Because default fallback value is managed by application.conf, get with
hardcoded fallback value is redundunt.
Extract config files from Global.
Use different paths of mongodb and zookeeper per mode.