Refactoring database
- Made the Database class virtual.
- SqliteDatabase class was implemented from Database class.
- Used smart pointers for objects of type sqlite3 and sqlite3_stmt.
- Added the DatabaseConfiguration class to specify the connection string as well as the folder path for the SQLite database file.