(Support) Added IntegerOps::isPowerOfTwo()
(Binary Analysis) Added simplification for the three symbolic shift operators

   (shift AMT1 (shift AMT2 VALUE)) ==>
      (shift (add AMT1 AMT2) VALUE)

Usually the shift amounts are concrete, so constant folding usually happens:

   (shift 5 (shift 6 VALUE)) ==> (shift 11 VALUE)
(Binary Analysis) Added test case for shift operator simplification
(Support) Added IntegerOps::log2max() to return ceiling of log base 2
(Binary Analysis) Improvement to shift simplifications

To distinguish between cases where the shift amount is zero vs
the shift amount being larger than the width of the thing being
shifted.
(Binary Analysis) Updated test answer for shift simplification
(Binary Analysis) Symbolic operators interpret certain operands as unsigned when printing
(Support) Adjustment to StringUtility functions

* addrToString() no longer interprets its value as signed since
  addresses are seldom signed.  If you need signed, use the new
  "toHex" functions:  signedToHex(), unsignedToHex(), etc.

* Added appendAsmComment(), which adds or adjusts the text
  at the end of a string between angle brackets.
(Binary Analysis) Unparsers use new StringUtility functions

The unparser for symbolic expressions uses the "toHex" functions,
which print constants as hexadecimal with optional decimal comments.
This makes the output consistent with unparsing machine instructions.
(Binary Analysis) Updated test answers for new number output format

Numeric constants use the new StringUtility functions for printing
hexadecimal values, which results in three kinds of formatting changes
in the answer files:

1. Constants in symbolic expressions for API2 are printed as
   hexadecimal by default.

   "255[8]" becomes one of the following, depending on sign
   interpretation: "0xff<255>[8]" if unsigned, "0xff<-1>[8]"
   if signed, or "0xff<255,-1>[8]" if unknown interpretation.

2. Negative constants in disassembled output show the negative
   interpretation in decimal rather than hexadecimal by default:

   "0xffffffff<-0x00000001>" becomes "0xffffffff<-1>"

3. Symbolic operators that interpret an operand as unsigned
   also print the operand as unsigned.

   "(shl[32] -1[5] v0[32])" becomes one of the following,
   depending on whether hexadecimal or decimal formatting
   is used:
     "(shl[32] 31[5] v0[32])"       //decimal; API1 default
     "(shl[32] 0x1f<31>[5] v0[32])" //hex; API2 default
(Clone Detection) Added tool to dump input groups

Use 92-dump-igroups to copy input groups out of a database into
an SQL file, then run the SQL to insert the igroups into some
other database.
(Clone Detection) Do not re-initialize memory that was already used
(Clone Detection) Minor adjustments to failure rate calculation

* The number of passing tests is a parameter in the debug_settings table.

* Changed the order of columns in the debug_posneg table.
Merge branch 'clone-detection' of ../clone-detection into clone-detection-rpmas