Refactor: move common Database code to sql.*
API adaptions for CatalogDatabase
Refactor: HistoryDatabase inherits from Database<>
API adaptions for HistoryDatabase
documentation for Database<>
Refactor: provide {Set/Get/Has}Property()
provide Sql::Bind<> and Sql::Retrieve<>
{Set|Get}Property<> for int, double, std::string
use Property() accessors
extend documentation for Property accessors
TEST: unit tests for SQLite Database wrapper
rename Database::PreparePropertiesQueries()
add Database::{Begin|Commit}Transaction()
add Sql::RetrieveString()
TEST: adapt unit test set for transactions
FIX: memory leak in error condition
rename DerivedT::Compactize() to Compact()
rename `Sql::IsBusy()` to `Sql::IsReady()`
remove `Sql::IsReady()`
Merge pull request #585 from reneme/refactor-database

Refactor database