Major Upgrade

Release Notes:
* Reversed architecture: Instead of initializing the desired driver
version, initialize the generic with proper kwargs.
* Moved Sql objects such as Select, Insert, Delete into squall
* Transaction run() returns results of selects in a dictionary where the
string representation of the sql object is the key and list of rows is
the result.
* Added tests, improved existing ones, and deleted unneccessary ones