expand the methods available for working with functionals and json
tidy code for gathering couchbase sensors, and prevent NPE's using new functional methods
use render hints to show file/mem sizes nicely
add support for enums to do camel-underscore CaseFormat conversion
change so persistence dir is only backed up if node is HA master or HA disabled;
handles the case of HA autodetect selecting master hence the complexity.
this is done by introducing a "deferredBackupNeeded" flag in the ObjectStore which kicks in when triggered by certain "contended writes",
e.g. just after a standby node is promoted, or auto detects master.  (Previously tried to detect if master/standby then backup immediately but
was too racy to try to let persister read if-master from the store while the store is waiting to know if-master!)

also:
* fixes some leaks in test
* improves atomic file update support in FileBasedObjectStore.
* adds startup flags to allow ignoring various types of errors, with default being to stop on any of the errors

(the one irritating corner case is if persistence is on and we start an app which fails,
those failed apps remain persisted and you see the failures when you successfully start ...
that's probably the right behaviour but will be irritating for some people;
might in future want a --destroyFailedStartupApps CLI option)
clean up error messages, and fail gracefully if webapp is invalid
Merge pull request #1477 from ahgittin/fix-1464-standby-copying-conflicts

fixed #1464 - change so persistence dir is only backed up if node is HA ...
Merge pull request #1474 from ahgittin/couchbase

Couchbase code tidy, nicer way to define sensors, and prevent NPE's, using new `Functionals`
Created basic elasticsearch node
Added additional sensors
Added config keys required for clustering
Added support for elastic search cluster
Fixed (and simplified) clustering, using automatic zen discovery
Updated following PR review