Update RAMCloud start-up procedure

This patch will enable RAMCloud coordinator failover and
server failover if number of replica is properly configured.

- Update onos.sh RAMCloud start-up procedure
  - Use ZooKeeper to manage cluster member
  - Specify cluster name, num replicas,...
  - WARN: ramcloud.coordinator.ip is now a configuration to specify listen address
  - Specify ZooKeeper address/ClusterName in RAMCloud client config (conf/ramcloud.conf)
    - Note: conf/ramcloud.conf ramcloud.coordinatorIp, etc. is no longer used for connection
  - Enable failure detector, which is required for fail-over feature
- Undocumented maintenance option "deldb" to remove:
  - RAMCloud coordination info in ZK
    - Note: ZooKeeper must be running in order to execute "./onos.sh rc-c deldb"
  - BackupData file created by RAMCloud Storage Server
- Update RAMCloud Java bindings
  - Expose API to specify RAMCloud ClusterName
  - Expose ClientExeption
  - Note: You need to run ./build-ramcloud-java-bindings.sh to update Java bindings
- Utility function to check if ZooKeeper is running
- Utility function to wait for ZooKeeper to start
- Modified kill-processes() to try killing process gracefully first then KILL
- Specify absolute path to pgrep/pkill
- Added "rc" to manipulate both server and coordinator

Change-Id: Ia8a282f81bf82810a4d000883611ce12f504bd16
diff --git a/conf/onos_node.conf b/conf/onos_node.conf
index 07716fd..75f9aa0 100644
--- a/conf/onos_node.conf
+++ b/conf/onos_node.conf
@@ -19,6 +19,9 @@
 # myid will be assigned incrementally according to order of list
 #zookeeper.hosts = onosdev1,onosdev2,onosdev3,onosdev4
 
+# RAMClouod clusterName (ONOS-RC by default)
+#ramcloud.clusterName = ONOS-RC
+
 # Protocol used by RAMCloud coordinator (fast+udp by default)
 #ramcloud.coordinator.protocol = fast+udp
 
@@ -28,6 +31,10 @@
 # Port number of RAMCloud coordinator (12246 by default)
 #ramcloud.coordinator.port = 12246
 
+# RAMCloud coordinator option deadServerTimeout (1000 by ONOS default)
+# Increase this value if server failing due to false positive failure detection.
+#ramcloud.coordinator.deadServerTimeout = 1000
+
 # Protocol used by RAMCloud server (fast+udp by default)
 #ramcloud.server.protocol = fast+udp
 
@@ -38,13 +45,23 @@
 #ramcloud.server.port = 12242
 
 # RAMCloud server option masterServiceThreads (5 by default)
-#ramcloud.masterServiceThreads = 5
+#ramcloud.server.masterServiceThreads = 5
 
 # RAMCloud server option logCleanerThreads (1 by default)
-#ramcloud.logCleanerThreads = 1
+#ramcloud.server.logCleanerThreads = 1
 
-# RAMCloud server option detectFailures [0=disabled] (0 by default for ONOS development)
-#ramcloud.detectFailures = 0
+# RAMCloud server option detectFailures [0=disabled] (1 by default)
+#ramcloud.server.detectFailures = 1
+
+# RAMCloud server option replicas (0 by default)
+# This value must be the same cluster wide.
+# On N node cluster, maximum value will be N-1 replicas
+#ramcloud.server.replicas = 0
+
+# RAMCloud server option file (/var/tmp/ramclouddata/backup.`hostname`.log by default)
+# Note: Cannot be placed int ONOS_HOME, if it is on VirtualBox sharedfolder.
+#       File specified must be open()-able with O_DIRECT | O_SYNC options.
+#ramcloud.server.file = /var/tmp/ramclouddata/backup.${ONOS_HOST_NAME}.log
 
 # Port number of Hazelcast (5701 by default)
 #hazelcast.host.port = 5701