Added support for generic Database class. The client can pass any generic custom defined Database class so long as it conforms to the inteface outlined in the sample class templates.DBConnection. The specific use case is intended for compatibility with AWS DynamoDB where the client may use other libraries such as the AWS SDK which would not be included in the scope of sqlite-gsheet but can still use the database methods and interfaces from sqlite-gsheet.