By adding a new merge subcommand, we can now give arbitrarily many PDBs to llvm-pdbdump as inputs and get back one PDB. Currently it only merges type streams and ignores everything else. In the future it can merge symbol streams, module information, and other types of stuff.
Having this command allows us to write a test for type merging, which is also done in this patch.
The other subcommands take function arguments, instead of accessing the globals. Can we do that here as well?