(Binary Analysis) Rearranged usedef.s so unit tests are easier to add

By placing the 'end' label at the top, new tests can be added at the
bottom of this file without affecting the addresses used by earlier
tests.
(Binary Analysis) Added "xor eax, eax" unit test for use-def
(Binary Analysis) Added special case for x86 "xor Rx, Rx"

This is an idiom for "mov Rx, 0" and is now treated the same way
by the instruction dispatcher.
(Binary Analysis) Fixed bugs in MultiSemantics2

The undefined_(), number_(), and boolean_() RISC operators were
not implemented in MultiSemantics, and therefore called the BaseSemantics
version, which invoked the various SValue methods by these names. This
caused the sub-domain RiscOperators versions of undefined_(), number_(),
and boolean_() to be bypassed.
(Binary Analysis) TraceSemantics works properly with MultiSemantics

TraceSemantics works now when the underlying semantic domain doesn't
define a state directly.  For instance, MultiSemantics has no state
since it forwards all state operations to subdomains.
(Binary Analysis) Updated test answers for recent changes
(Binary Analysis) Added "make check-semantics"
Merge remote branch 'rc/master' into semantics2
(Binary Analysis) Fixed usedef answer filter

This filter was comparing memory addresses by replacing the address
digits with "x" characters, but that approach doesn't work because
the code that prints the original address does not use a fixed-length
format.

This commit fixes the problem by just removing the entire address.
Merge remote branch 'rc/master' into semantics2
(Binary Analysis) Added a use-def unit test for "push" instructions
(Support) Made it more convenient to store native numeric values in RangeMap

Added RangeMapNumeric<> for storing native numeric types in a RangeMap
because RangeMapValue<> requires subclassing for the split() method.
(Binary Analysis) Last writer info stored for register locations
(Binary Analysis) Last writer info stored for memory locations
(Binary Analysis) Updated test answers

These test answers changed because the output now includes information
about the address of the last instruction to write to an abstract
location.
(Binary Analysis) Documentation for binary use-def
Merge remote branch 'rc/master' into semantics2
Merge remote-tracking branch 'origin/master' into HEAD