Rather than serializing a Hashtable to disk to track changes in Evolution
mail summaries, which is incredibly memory inefficient for large numbers
of folders or messages, use a simple sqlite database instead. This fixes
one of the biggest and longest standing memory hotspots in beagle.
Also add some code to our SqliteClient fork to rethrow exceptions from
sqlite_step() with the error message from sqlite_finalize(). This helped
me track down a problem in which I wasn't releasing a client and was
getting "database locked" errors.