(Support) Bug-workaround for libpqxx

The PostgreSQL library seems to have a bug when a single process opens
two connections to the same database at the same time, creates
two transactions to exist concurrently, runs a failing command
in one transaction, then deletes all objects.  libpqxx gets a
segfault in the std::map destructor for one of the connections.

This commit changes SqlDatabase in order to work around the bug at
the cost of leaking memory for the connections with the failed transaction.
(Clone Detection) Renamed; parallel similarity; documentation

* Renamed all the tools to make the organization better.

* Documented the organization and some other stuff. See README.

* The function pair-wise similarity values are calculated in parallel
  since this was beginning to be a bottle-neck now.