Create a class to manage the lifetime of an SQL transaction.
Replace the beginIndex and endIndex methods with an Sqlite::Transaction.
Use a transaction when loading a compilation database.

For a compilation database of around 200 items, this reduces the
execution time of 'clang-tags load' from over 2 minutes to just under a
second.
Merge cameronwhite:compilation-database

Updated README
Add a method for querying the memory usage of a translation unit.
Implement a memory-limited cache of translation units.
Add a 'cachesize' command line option to specify the size of the
translation unit cache.
Merge cameronwhite:compilation-database into inotify
Merge cameronwhite:tu-cache into inotify

Conflicts:
	application.hxx
	main.cxx
Create a class to manage a list of threads

Threads are interrupted and joined on destruction.
Use a ThreadsList to manage the lifetime of threads
Removed useless header includes
Updated source code comments
Document the MT namespace
Document the ClangTags, ClangTags::Indexer and ClangTags::Watcher namespaces