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.
Execute and MultiExecute should return instance of queryFactoryResult
This will reduce the number of potential errors resulting from failing
queries and database connection issues. Existing code checking for EOF
will continue to function (just reporting no data available).

Changes were also made to queryFactoryResult to allow RecordCount to work
when the result is not cached and no mysqli resource exists. This should
allow existing Zen Cart core code utilizing "$result->RecordCount() > 0"
to operate (just reporting no data available).
Simplified processing loop for caching results.
Fixed a defect with the handling of RecordCount(): When the SQL query was
not a SELECT, SHOW, DESCRIBE or EXPLAIN query this causing an error instead
of correctly returning 0.
Normalize DIR_FS_CATALOG containing a trailing slash
This was needed under PHP 5.5.11 (x64) on Windows to avoid is_dir() calls
with double slashes from failing. Without these changes, attempting to
access the administrative interface frequently displayed the setup message.
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
Merge remote-tracking branch 'fork/v160' into normalize-slashes-filelocations
Added phpdocs to queryFactoryResult and implemented the Iterator interface.
Fixed a bug with ExecuteMultiRandom introduced with the initial commit.
Cleaned up some code
Merge pull request #46 from lhungil/query-factory-always-return-result

ISSUE-95 - Query factory always return result
Merge remote-tracking branch 'fork/v160' into normalize-slashes-filelocations
ISSUE-92 Fix hard coded references
ISSUE-93 fix some hardcoded href links