ENG-4893: Bring back the dev null snapshot target for elastic index snapshot.
ENG-4893: Add a new type of snapshot for elastic join indexing.
ENG-4893: Make TheHashinator abstract methods public.

There are cases where temporary local hashinators need to be created. It's not
possible to use the local hashinator if these methods are protected.
ENG-4893: Add a helper method to watch for the completion of a snapshot.

The helper method takes the nonce of the snapshot and returns a
ListenableFuture. Caller can wait on the future for the completion of the
snapshot. The future will return the actual completion event as result.