Initial commit, forked from the traces project

    This initial version is derived from the traces project by Yotam Rubin and others (https://github.com/yotamr/traces)
    It roughly corresponds to git hash 4226f38c4c8c673c849ece4c23621f3add7fef35, however some 3rd party code contributions
    that modified the code layout and the build were not included.
Records written to the end-border of a record do not result in a corruption
trace_dumper: Regard space taken up by trace files as free-space for quota calculation
trace_parser.c: Add option to tail trace file using inotify
trace_instrumentor: Add diagnostics warning of empty literal strings
build system: traced object files now depend on the trace_instrumentor target
simple_trace_reader: Add the ability to start trace dumping from a humanly-formatted timestamp
Fix comparison of buf_left pointer to buf_left pointer value
Instrument unit tests
Implement arbitrarily nested repr-logs and fix current repr usage
Don't rename shared memory files
Don't dereference pointers when tracing return values
Don't consider process ctime when detecting process death
trace_dumper: Fix get_file_size() prototype
trace_reader: Use mmap() for I/O
Provide NO_INSTRUMENT macro
trace_reader: Implement compact trace format
trace_dumper: Increase throttling quota
trace_instrumentor: Use unqualified type name in type_name field
Provide an interface for disabling function instrumentation on an entire file