netz: communicate header info to everyone.

with tons of other changes:

* abstract out parallel functions to file just for par stuff.
* add destructor so that it properly cleans up memory
* fix crashes parsing/broadcasting header info
* add a hacky test program that emulates libnetz, without a lib.

The 'hacktest' binary is because I wanted something to valgrind.
fix up docs