Replaced assign (=) with memcpy of hash keys

Allows using an array (rather than a pointer) or string literal as a key.
For primitive datatypes, should be equivalent to assign in compilers with
optimisations on.