Add a network operations test

This makes sure that my objdump works for some simple parallel network
operations.  Note that while this just works, the assembler isn't
quite working for these operations so I just wanted to make sure I
knew what was going on.
Keep all the instructions in order

I thought std::map was ordered by the order objects were inserted into
it, but I guess it's not.  This uses a vector to make sure the bundles
all stay in order.
Always print leading 0's in HEX

This appears to be part of the HEX file format.
Add special parallel network bundling logic

The old bundling logic just OR'd all instructions together, but that
doesn't work at all with parallel network operations.  It turns out
there's only two of those in the Histogram benchmark, but this ends up
being necessary to make that work.

Note that it's still a bit flaky:

* This only works with 2-instruction bundles (so no network fanout)
* The network op must be the second operation

This can all be fixed.
Fix a stdout/fprintf bug in object::write_hex_file
Add many more instruction encodings

This is sufficient to run a full disassemble/assemble loop on the
Histogram benchmark, which is currently the only test code I have.
Note that the debug information is not supported!