Initial support for binary output

This commit begins an attempt to write detailed output to a binary
file to complement the human-readable output that gets written
textually to the standard output device.  So far, only basic-block
data is written in binary format and only when BF_BINOUT is set to a
filename.
Added various Autotools-generated files to .gitignore
Separated out the binary-output tag definitions

Moved the binary-output tag definitions to a separate C (not C++)
header file.  This will make it easy to share the header with
postprocessing tools.
Begin binary files with the "BYFLBIN" magic pattern
Moved binarytagdefs.h and byfl-common.h to top-level include

Because binarytagdefs.h is used by the library in lib/byfl and will
soon be used by programs in the tools/postproc directory, it makes
sense to hoist that above both lib/byfl and tools/postproc (i.e., to
the top level).  While I was at it, I moved byfl-common.h from
lib/include to the top-level include directory because I've always
found it a bit goofy to have a include directory beneath a lib
directory.
Logged more basic-block information in binary format

Currently, the only fields in ByteFlopCounters that aren't written to
the binary output file are the mem_insts and inst_mix_histo arrays.
These are large -- totaling ~200 fields -- and of questionable use on
the basic-block level relative to their size.  Perhaps they can be
included if some command-line option is specified.
Introduced a bfbin2netcdf postprocessing tool

bfbin2netcdf converts Byfl binary output to NetCDF 4 (HDF5) data files
for portability and use with other tools.  bfbin2netcdf is not yet
complete, but it can handle Byfl's binary output in its current,
nascent, state.
Added support for binary string data

The Byfl run-time library can now output per-function data in binary,
and bfbin2netcdf can convert this to NetCDF format.
Introduced the bfbin2hdf5 postprocessor

Created a bfbin2hdf5 program that converts binary Byfl output files
into HDF5 data files for subsequent processing and archiving.
Removed bfbin2netcdf

bfbin2netcdf reached a dead end because it didn't seem like there was
a way to generate a table of mixed datatypes that could be viewed with
hdfview.  bfbin2hdf5, which was introduced in the previous commit, can
parse as much of a binary Byfl files as bfbin2netcdf could and can
additionally produce mixed-datatype tables that appear correctly in
hdfview.
Generate compressed HDF5 files

Enabled deflate (zlib) compression and set the compression level to
the maximum (9).
Binary version of the Called Functions table

Byfl can now output and bfbin2hdf5 can now process the Called
Functions table.
Demangle call stack in binary output

Binary output of the Functions table now includes the function or
function call stack in both mangled and demangled forms.
Binary output of parts of the summary data

Part of the program summary (the simple key:value lines) can now be
written to a binary file and converted to HDF5 by bfbin2hdf5.
Binary table of accesses by data type
Binary instruction-mix table
Binary version of memory-footprint table
Introduced ByteFlopCounters::assign()

It is now possible to store the result of
ByteFlopCounters::difference() in a provided object instead of having
to repeatedly allocate a new object and then deallocate it.
Include tag in binary basic-block table

When basic blocks are not merged (i.e., -bf-merge-bb=1), include a Tag
column in the binary output file's Basic Blocks table.
Log basic-block instruction address

Now, when individual basic blocks are logged (i.e., -bf-merge-bb=1)
and the GNU backtrace() and backtrace_symbols() functions are
available, Byfl will log the address of each basic block to the binary
output file.