(Clone Detection) Black-box function return values have their own input queue
(Clone Detection) Indirect function calls avoid disassembly failures

When making an indirect function call using an x86 CALL instruction,
treat it as a black-box function if there is no instruction at the target
address.
(Clone Detection) Removed clustering tool

The 32-clusters-from-pairs tool was removed (along with its table
in the schema) because it was based on a flawed algorithm that
I found on-line.  We might replace it later with a better
implementation.

The computation for failure rates (false negatives and false positives)
was changed to avoid using clusters and instead to use the function
similarity pairs directly.  This step is now somewhat slower.

The failure rates can be calculated now based on only those pairs
of functions for which both functions pass for at least one test
in common. This makes the rates better because it avoids the
false negatives that resulted from us not being able to choose
any good inputs for the function pair.
(Support) Added StringUtility::toStrings()

Converts each member of an STL container to a string using the
specified stringifier functor (default is StringUtility::numberToString)
and returns a vector.  Intended to be used when converting a
a continer of values to a single string, as in:

  using namespace StringUtility;
  std::set<int> numbers = ...;
  std::string s = join(", ", toStrings(numbers));
(Support) Added SqlDatabase::in() to generate SQL "in" clauses from STL containers
(Clone Detection) Use SqlDatabase::in(); added --functions=TABLE.COL

The 20-get-pending-tests tool is now able to limit the set of functions
to those functions that are mentioned in a particular table. This is
useful in conjunction with failure-rate.sql because we can use the
fr_functions table to limit what gets tested.