Clean up hash generation.
Properties that are only needed for hashing shouldn't be stored on the node permanently.
Explicitly enumerate what we use for the hash, rather than consuming everything and blacklisting.