make sure there's a column class (closes #269) 
better special column magic + revisited implementation to cause less waste if there are no special columns in the table
[mssql] better query type detection - make sure WITHs work as SELECts
byte-list (sql type detection)  helpers refactorings - startsWithIgnoreCase
should skip whitespace from `p + 1` when '(' is matched at position p
[mssql] `execute('exec stored_procedure')` should work as a select
[mssql] some quoting  + current_database
[mssql] explain support
print error when showplan option fails (oh it's based on sqlserver code)
[mssql] quoting and updated remove column (sqlserver inspired)
+ re-arranged and privat(e)ized for clarity - 'inline' determine_primary_key
[mssql] config[:database] support + switching using use_database
+ do not switch on create/drop db. code inspired by ar-sqlserver-adapter
(closing #311)
[mssql] charset
[mssql] execute_procedure support (AR-SQLServer style - closes #266)
an improved indexes test for all (and test remove_index as well)
rename table / remove column (with) index tests for sqlserver
allow for easier exec_xxx overrides from JdbcAdapter using #do_exec
do not assume generic SQL with EXEC will return a result (execute_query)
on MS-SQL this reverts cac1391f80462d2e8f6c9718cf3db7cbb879b161
but introduce a way for exec_query to work with procedure EXEC SQL
make test pass on AR < 3.2