(Clone Detection) Checkpoint; most semantic things are now working
(Support) Added SqlDatabase::Table for printing query results
(Support) SqlDatabase accepts URLs for SQLite3

The URL format is:
   sqlite3://FILENAME[?PARAM1[=VALUE1]&...]

FILENAME is relative unless it starts with a '/'.

The only PARAM accepted at this time is "debug", which takes no
value and turns on tracing.
(Support) Fixed special character escaping in SQL

The PostgreSQL documentation incorrectly stated that double backslashes
are necessary for E'' strings.
(Clone Detection) Lots more changes

* More documentation
* AST saving is off by default because loading a saved AST doesn't work
* Binary files (specimens and libraries) are saved in the database
* Progress reports for 01-generate-inputs since 8! takes a while
* Extra sanity checks in 02-get-pending-tests
* Added --ignore-faults switch to 04-func-similarity to skip failed tests
* Added --summary switch to 06-list-clusters
* Cluster listing shows distribution of cluster sizes and other statistics
* Added 06-list-functions command
(Clone Detection) New shell script to run clone detecton analysis

This script is an interactive way to incrementally build a database,
populate it with specimens, run tests, and compute clones in parallel.
(Support) More base64 encode/decode functions

Also adds StringUtility.h which just includes string_functions.h
since headers should be named for the main namespace or class they
contain.
(Support) Enhancements, bugfix for SqlDatabase

* Avoid deleting a libpqxx connection if its transaction was
  rolled back, because deleting triggers a segmentation fault
  in libpqxx.

* The "debug" parameter causes output to be produced for transaction
  operations. It also shows connection and transaction info for
  each executed statement.

* Added do_quote to escape() so it can be used to produce strings
  in a piece-wise way.
(Binary Analysis) Extra testing for AST_FILE_IO
(Clone Detection) Lots of changes to semantic clone detection

* Fault "NONE" was changed to "SUCCESS" in the database because
  it's used in the "status" column of the semantic_fio table.
  Just makes more sense to see status=SUCCESS than status=NONE.

* Added --file and --specimen flags to 02-get-pending-tests in order
  to limit the testing to functions that appear in certain files
  or specimens.

* Changed the way 03-run-tests loads a new AST.  Deleting the
  entire AST with deleteAST() caused a failed assertion deep in
  ROSE, so we now delete the old AST with AST_FILE_IO::clearAllMemoryPools().
  This is probably faster anyway.

* If you give a name to 06-list-functions it will try to match it
  against file base names as well as function names. Thus you can
  get a list of all the functions that are defined in a particular
  file.

* Added 06-list-ogroup, a work in progress, to list the contents of
  an output group.

* Added 99-grants as a little tool I use to grant semi-public
  access to clone detection results on one of my machines.

* Avoid division by zero in CloneDetection::Progress.

* Added SQL to calculate false positive and false negative info. This
  had to be completely rewritten for the new schema.

* Fixed the SQL that reports test failure reasons.

* Added more documentation to run-analysis.sh