ZOOM implements flush as version bumping.

This patch implements flush for ZOOM as data path version bump. The
data path node for class, for example, Bridge will be in the form of,

[BASE_PATH_PREFIX]/[VERSION_#]/Bridge

where base_path_prefix is the path prefix string specified on ZOOM
construction, and VERSION_# is monotonically incremented data path
version number, initially starting from 1.

A new ZOOM instance checks for the version number upon getting built.
If it finds one, it sets its data set version number to the found
value so that a new instance would be able to take over where the
previous ZOOM instance left off. In addition, upon initialization a
ZOOM sets a watcher to the version number node and it'd be notified
if another ZOOM instances bumps the version number to switch to the
new version.

TODO Garbage-collect class / instance subscription GC upon flush / a
notification of the Storage flushed by another ZOOM instance.

Fix MN-2999

Change-Id: Ibd5892a74ce5edb2c8b5f7542d78b6e7af328e6d