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