This is an alternative to VCS or file based repository implementations.
All properties are stored ecrypted in vault, regardless of whether or
not that actaully need to be encrypted.
Supports properties style (this.is.a.property) or vault nested
properties.
Adds a watch to client and server, if enabled, the client will long poll
the server and wait for changes rather than relying on a message broker
to send change events.
Adds a server side watch for consul keys, this is useful when vault is
backed by consul (and currently the only use case, since there is not a
consul repository implementation).
Closes gh-397