Start implementing binary file reader/writer

Does not implement the full specification in doc/fileformat.txt yet, but what
is implement is coherent with the specification.
Pre-5.16 compatibility

At the cost of supporting UTF8 package names for those perls.
Update ppport.h
Implement file version checking
Rename record type enum members to have a common prefix

TAG_ makes it clearer (IMO) that this isn't just some random status
enum, but rather the actual file format's spec's bits.
Read/write header separator
Add header with THX-member related macros
Store a Perl THX in TraceFileReader/Writer
Check MULTIPLICITY, not USE_ITHREADS
Remove now-spurious dTHX
No need for automatic contexts in XSUBs
Refactor: Add write/read_header functions
Separate open() from constructor to avoid exceptions in constructor
Introduce status return value from writer calls
List all currently specced record tags in enum
Meta-data in header: write and read

But not actually doing anything with it.
Store and expose Perl version in TraceFileReader
Expose more header data through TraceFileWriter
Rename sanity test in prep for running file IO tests first
File format: Clarifications about length varints