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.
Don't hardcode fallback value for configuration.

Hardcoded fallback values are redundant because fallback values are already
given in application.conf.
Extract config related methods from Global to BeyondConfiguration.
Use mode specific configurations.

application.conf and zoo.cfg now have mode specific configurations:
application.{mode}.conf andz zoo.{mode}.cfg. Here mode can be dev, prod and
test.
Extract Rhino Scala binding classes as rhinoScalaBinding project.
Turn off Scalastyle NullChecker for rhinoScalaBinding.

Add a separate scalastyle-config.xml for rhinoScalaBinding. Using null is
unavoidable to interoperate with Rhino library written in Java.
Move Actor names to each actor's companion object.
Extract admin pages as beyondAdmin project.
Match the directory structure with package name.
Move launchers to beyond.launcher package.
Add beyondAdmin/target and beyondAdmin/project to .gitignore.
Extract leader selection from RoutingTableLeader and make LeaderSelectorActor.

LeaderSelectorActor uses the system event bus to publish LeadershipMessage
(LeadershipTaken and LeadershipLost). RoutingTableLeader subscribes to this
message and updates the routing table when leadership is taken.