Goal of this PR is to resolve https://github.com/chaincodelabs/libmultiprocess/issues/50 by cleaning up the sprawling proxy-types.h code and organizing all the CustomReadField / CustomBuildField overloads so they are easier to locate and compare.
This PR also resolves https://github.com/chaincodelabs/libmultiprocess/issues/122 by pairing the existing CustomBuildField ::capnp::Data overload with a new CustomReadField ::capnp::Data overload, and should make it easier to see when build & read overloads are inconsistent in the future and prevent that type of bug from happening in the future.
This change is an API change that requires some changes to downstream bitcoin core code. The downstream code is updated in https://github.com/bitcoin/bitcoin/pull/31740.