Always print symbols if known for pointers
Remove the need for empty source files to check headers
Split protocol generation headers
Split tests a lot

This probably takes longer for a from-scratch compile,
but saves big on incremental recompiles.
Fix crash on login due to invalid map