ENG-5502: Replace client hashinator with standalone lightweight copy.

Copies too much code, but replaces hashinator functionality with fewer encumberments.
Test case to verify it behaves the same way.