Attempt at splitting out and cleaning up the custom multi inputs commit.

This has two critical changes in it:
 - Multi-inputs that pass via a in memory map rather than stringified in config.
 - Combines splits smaller than block size.