Updated the database version check code.

 * Updated to fail detection if any of the checks for a version fail (previously if even one passed the version was selected).
 * Updated to system checks to detect version 1.5.2 (Beta 2 based detection)
 * Removed ADD COLUMN and INSERT INTO statements from the 1.6.0 upgrade script for items already added by 1.5.2 (Beta 2 based)
Additional Handling for ALTER TABLE statements

* Added a function to detect if an index exists on a table
* Added a function to detect if a column exists on a table
* Created a parser to handle ALTER TABLE statements
 * The table name will be checked (exception written if needed)
 * The table name will have the prefix added (if needed)
 * Columns and Indexes which already exist will not be added
Fixed variable name
Added some additional "checks" for other potential ALTER TABLE table_name ADD * statements.
Additional sanity checks before checking for the existance of a column or index on a table.
CI testing
CI testing - remove for now
Merge pull request #44 from lhungil/version-check-update

Updated the database version check code.
Merge pull request #45 from lhungil/update-sql-alter-table

Additional Handling for ALTER TABLE statements
Merge remote-tracking branch 'fork/v160' into query-factory-always-return-result