(Support) Added more StringUtility functions

split() splits a string into vectors

trim() trims white space from beginning and end
(Support) Added SqlDatabase::is_valid_table_name()
(Support) Added Combinatorics::shuffle()

Shuffles (some of) the elements of a vector.
(Support) Added LinearCongruentialGenerator::init()

Re-initializes the LCG from a random source.
(Clone Detection) Lots more changes, mostly to input groups

* Input groups contain six distinct value queues

* 10-generate-inputs tool completely rewritten

* 90-list-function tool can generate colored output so it's not so
  hard to discern what's source code, what's assembly, and what's
  extra info from tracing, etc.

* Some command-line switches for 25-run-tests were removed. They're
  no longer necessary since the information is now stored in the
  input groups.

* Checkpoints for 25-run-tests can be performed at random invervals
  so as to not stress the postgresql server too much.  This was
  because when event tracing is turned on, if all the parallel jobs
  did a checkpoint at the same time the server came to a crawl trying
  to import gigabytes of tracing data from each processor.

* The database can store multiple similarity relationships at a time.
  The 31-func-similarity-worklist, 32-func-similarity, and
  35-clusters-from-pairs tools are affected.

* The 32-func-similarity tool knows how to compare output groups
  that come from different input groups that are part of the same
  input group collection.  Also new switches for selecting how many
  of the output group comparisons should be performed. These changes
  are mostly for running tests where input groups are permutations
  of one another.

* Added false negative/positive measurements for syntactic clone
  detection.