Fix signed/unsigned issue in hashindex

Unsigned hash was cast into a signed int, creating occasional Inexact exceptions.
This is fixed by using reinterpret. 
`sz` still  HAS to be power of 2 for correctness. Further refactoring might be due.