For ENG-4397, ENG-4396, ENG-4399, ENG-4313. Make hashinator updatable at runtime, and selectable via environment variable

Using an atomic reference to pair a version with the hashinator so that threads can update the hashinator if they are receiving a newer version of the hash function.