Improve sql safety and performance

Use mutex locks to protect all exec calls in case they come from
different threads.

Also add begin and end transaction calls when inserting to the database
in hopes of improving performance.
Remove threading to avoid crashes (see #292)

Seems that sql and threading is not a good idea
after all.
Update the progress dialog as files are indexed

The dialog will now support cancel and resize even though
the indexing is not being done in a different thread.
Only use sql transactions for tag cache

Since transactions cannot nest.
Remove threading code from dicom database and indexer

See discussion at #292.

Pending a re-implementation, remove thread support from the
ctkDICOMDatabase code.  Since the ctkDICOMDatabase internally
manages the database connection, the threading code should make
multiple instances of the database (one per thread) rather than
calling the same instance from multiple threads.  Because of this
there is no reason to have a mutex internal to the class.
Related call, methods, and member variables have been removed.
Update test to reflect current behavior of database/cache
Merge branch '292-non-threaded-inserts'

* 292-non-threaded-inserts:
  Update test to reflect current behavior of database/cache
  Remove threading code from dicom database and indexer
  Only use sql transactions for tag cache
  Update the progress dialog as files are indexed
  Remove threading to avoid crashes (see #292)
  Improve sql safety and performance