Split HashTable out into mutable and immutable kinds.

There are some inference problems making the marketplace tests fail. I'll need same help fixing that up.
I think the original `hash/sc` and the new `mhash/sc` case will never trigger.