Bug fix in requests handling

This caused find-definition to always reparse source files
Propagate server return code in client
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