Support OFFSET/FETCH for ordered datasets on Microsoft SQL Server 2012

Microsoft SQL Server 2012 adds native support for offsets, but
support is limited to datasets that have orders, and using it
requires a different limit syntax than TOP.  While it has limitations,
most people using offsets are going to be using them with limits
and orders, so it handles most actual use cases.

This changes Sequel to use the new offset syntax on SQL Server 2012
for ordered queries, instead of emulating offsets with a subquery
using row_number.
Don't use a subselect when using offset for unordered datasets on MSSQL 2012+

This extends the previous commit to not use a subselect even in
the unordered case.  Since Sequel's offset emulation via row number
requires adding an order anyway on MSSQL, this should just eliminate
the subquery.

There is a slight difference, in that because the order is being
specifed in the ORDER BY clause instead of the over clause, we can
just order by the first column instead of having to get the column
names (which can cause problems if aliases are used).  This should
cause no problems in practice, since if the user did not specify
an order, the database is free to return results in an arbitrary
order.
Add an integration test for ordering by column position
Work with RSpec 3

This updates the specs to switch be_true and be_false with == true
and == false, since be_true and be_false are renamed in RSpec 3.

Avoid deprecations warnings on RSpec 3 by explicitly enabling only
the should syntax.  This has the benefit of not allowing the expect
syntax, which is good as that doesn't work on older versions of
rspec (and Sequel's specs should pass on RSpec 1).
Add call_sproc support for tinytds
Added spec for call_sproc for tinytds
Tiny TDS stored procedure support documentation
Updated mssql_spec to properly check output variable type
Fix mismatched indentation (Fixes #749)
Update links to presenations on documentation page
Handle RuntimeErrors raised by oci8 in the oracle adapter
Merge branch 'output-variable-2' of git://github.com/jrgns/sequel
Handle returning rows where the fields are not immediately available in the tinytds adapter

TinyTDS does not fill in result.fields until after result.each is
called in certain cases.  This adds a slower path that handles
that case by waiting until inside of the result.each block to set
the columns correctly, and create new hashes with correct keys.
Improve and Generalize the tinytds stored procedure support

Make the code generic using a dataset instead of the adapter
specific API.  As datasets return hashes with symbol keys,
the API has changed and now uses symbol keys in the returned
hash, as well as simpler key names.

Move the code to the mssql shared adapter so that all adapters
that connect to MSSQL can use it.  Unfortunately, do to bugs
in ruby-odbc, it does not work with the odbc adapter.

Modify the necessary modifications so that it runs correctly
on ruby 1.8.

Reduce possibilities for SQL injection in the output
variable name by quoting the name used in select, while using
a consistent name for the variable itself.
Fix warning for defining same constant twice when specs
Rename MSSQL sproc method to call_mssql_sproc

Moving call_sproc to the shared MSSQL adapter causes a problem on
jdbc, where the Database#call_sproc method has existed for years
and operates differently.  Rename it so it no longer conflicts.
Add note about SQL injection via type names to security guide
Link MSSQL Stored Procedure guide to website
Bump version to 4.6.0
Start testing ruby 2.1.0 and rbx-2 on travis