The next step of changes from #10785.
This one adds:
- A meta-formatter for vectors, which serializes the vector elements using another formatter
- Switch the undo.h code to the new framework, using the above (where undo entries are serialized as a vector, each of which uses a modified serializer for the UTXOs).