(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"