fix: make things independent of the Multihash code table
It should now be possible to specify your own Multihash code table.
@Stebalien this one is for you. Please let me know if this is something we want to tackle and whether it's the right direction. Ideally I'd like to use the default alloc value as little as possible and make it explicit most of the time.
It currently build, but I haven't even tried to compile the tests yet, as I'd like to get basic feedback, before I start making everything pretty.
Note: don't spend too much time on this right now. I'd like to see how much of breaking change this would be if we only make these types generic over the code, but we're trying to wrap up M1 ASAP so bubbling breaking changes that can be punted till M2 isn't a priority.