Make the encoder registry prefer combined encoders

I.e. return MsgPackLzfEncoder instead of LzfEncoder(MsgPackEncoder).

There's been some different creative solutions to this over the years, but it feels like this is the right solution to the problem.