(Dwarf) Added address-source_position analysis

BinaryAnalysis::DwarfLineMapper builds a bidirectional mapping
between virtual addresses and source position.
(Binary Simulator) Clean up temporary files
(Diagnostics) Fixed AST consistency checks to show more info

The parent/child consistency test didn't print enough diagnostics
to determine where the problem was, and printed redundant output.
(Binary Clone Detection) Fixed declaration for "instructions" tables

The instruction "address" column should not have been a primary key
since two instructions in different files might have the same
address.
(Dwarf) Added missing #include directives

The dwarf support in ROSE failed to include the necessary dwarf
header files.
(Dwarf) Fixed parent/child relationship problem
(Dwarf) Generalized the way dwarf support finds the SgBinaryComposite

SgBinaryComposite is not an immediate parent of SgAsmGenericFile.
(Dwarf) Dwarf information is attached to a file rather than interpretation

Dwarf information in a binary file describes entities in that file and
therefore should be attached to the part of the AST corresponding to the
file.  The SgAsmGenericFile is this entity; SgAsmInterpretation has a
many-to-many relationship with SgAsmGenericFile.
(Binary Simulator) SgProject for the main executable is made available by the API
(Dwarf) Fill in missing information for address/source mapping

Dwarf line info typically only has a mapping from source location
to the first address for that source line.  The fill_holes() method
will attempt to add all addresses for each line.
(Binary Simulator) Store source position for each instruction; use file IDs

* Each instruction in the semantic_instructions table has source location
  information if that information is known.

* The file names have been split out from any table that uses file names
  and placed in their own table, referenced by file_id.  This cuts down
  on the amount of storage required.