(Binary Analysis) Added the "map:" schema for loading raw files

* Tools will now begin to support operating on ELF/PE and raw
  buffers.

* Example
	vncviewer.exe
	map:0x080a0000+4096=rw::/dev/null
	map::+100:buffer

  Parse and load vncviewer.exe, then map one page of
  zeros with read/write permission, and map up to 100
  bytes of "buffer" at some free address.
(Binary Analysis) Factored out duplicated code to choose disassembler
(Binary Analysis) A few more utility functions for loading specimens
(Binary Analysis) Fixed some compiler warnings and a bug
(Binary Analysis) Various improvements to tools

Tools in projects/BinaryAnalysisTools:

* All tools understand the "map:" schema for loading files

* More documentation for "--help"

* Disassembler choice is delegated to rose::BinaryAnalysis::Disassembler

* dumpSRecords has switches to control output

* multi-threaded initialization of edit distance matrix for the
  findSimilarFunctions tool.

* linearDisassemble can operate on ELF/PE specimens instead of
  only raw buffers.

* maxBijection can read the output from recursiveDisassemble in
  order to load the two sets on which it operates.

* timing diagnostics added to some operations

* use dlib implementation of perfect matching instead of
  munkres-cpp because the latter is GPL.
(Binary Analysis) Additional binary specimens

* i386-mixed: mixing data with code

* i386-overlap: overlapping instructions
(Support) Updated sawyer to get AddressMap::access
(Binary Analysis) More work on partitioner and tools

* More methods to find C-like "switch" statements in x86

* Disassembler tool can list CFG instructions at a user-defined
  trigger. Listing includes information about gaps and
  overlaps.

* Disassembler tool can produce GraphViz dumps for subsets
  of the CFG triggered at user-defined points during partitioning.

* Various improvements to partitioning accuracy.
(Binary Analysis) Added "--activate" switch for triggers

Controls how many times a debugging aid is skipped, then triggered,
then disabled.
(Binary Analysis) Added function size metric for comparing binary functions

Assigns functions from one binary specimen to functions in another (e.g.,
two versions of the same program) based only on the size of the functions.
Very fast compared to other metrics, but not as accurate.
(Binary Analysis) Added size-addr metric for function similarity
Merge remote branch 'rc/master' into m68k
(Binary Analysis) Added tool for comparing ROSE partitioning with other disassemblers
(Binary Analysis) Added binary specimen for i386 PUSHFD instruction
(Binary Analysis) New capability for BaseSemantics::RegisterStateGeneric

The coalesceOnRead Boolean property controls whether readRegister adjusts
the representation of existing registers when the register being read overlaps
with registers that are already stored.  The two choices are:

1. Adjust existing representation so that the just-read value can be
   stored atomically.

2. Don't adjust existing representation, but rather fit parts of the
   just-read value into overlapping registers and the gaps between them.

Also the x86 dispatcher was modified so that coalesceOnRead is disabled
whenever its reading FLAGS or EFLAGS. This will cause flag bits, that
analysts tend to think of individually, to stay individual bits even
when the whole register is read.
(Binary Analysis) Give names to RegisterStateX86 initial values
(Binary Analysis) Added a function to get common x86 registers
(Binary Analysis) Fixed an unused function warning
(Binary Analysis) Fixed bug in MemoryMap::eraseZeros
(Binary Analysis) Added test answers for new binary specimens