Kjq/privateidhash

This adds private id/hash support and updates the tests to reflect it.

It does NOT have the delete functionality implemented for private hashes. That's probably OK for now.