Do not attempt to eager load when calling Dataset#columns in the eager_each plugin
Optimize the PostgreSQL array parser using a strscan implementation

This speeds the parser up another 5x compared to previous each_char
implementation, at least for arrays with a small number of large
entries.

In combination with the recent previous commits to the parser, it
is now about 1000x faster for parsing an array with a single
100,000 UTF-8 character string.
Fix testing guide so it doesn't imply RSpec 3 is not supported
Recognize CHECK constraint violations on newer versions of SQLite
Fix documentation typo (Fixes #789)
Readd spec guard for check constraint violations for older SQLite versions

This should fix the failures on Travis.
Bump version to 4.9.0
Support common table expressions (WITH clause) on SQLite >=3.8.3

SQLite added support for common table expressions in 3.8.3.  It
passes all of the CTE specs, so this enables the support in Sequel
if the SQLite version is >=3.8.3.

Change the bin/sequel specs to use a less exact regexp so that
changes like this don't require modifying the specs.
Use INSERT VALUES with multiple rows for Dataset#import and #multi_insert on more databases

This adds support for using INSERT VALUES with multiple
rows to H2, HSQLDB, Derby, SQLAnywhere, CUBRID,
SQLite >=3.7.11, and MSSQL >=2008.

According to SQL-92, INSERT VALUES accepts multiple rows.
I really wanted to make using INSERT VALUES with multiple
rows the default, but unfortunately, support for it is not as
widespread as I'd like. It is missing completely in Oracle,
DB2, Firebird, and Access, and not available on MSSQL < 2008
or SQLite < 3.7.11.

This actually adds two new strategies to multi_insert_sql.
The first is VALUES with multiple rows.  The second is a UNION
based approach used on old versions of MSSQL and SQLite, which
should work on any database that supports INSERT with a SELECT
query, as long as SELECT doesn't require a FROM table (which
rules out DB2, Oracle, and Firebird).  The UNION approach can
be extended to handle those databases, but I'll wait for a user
to request that before implementing it.
Update README to remove sudo instruction 

Jeremy, I am a beginner to Ruby and have been doing a few projects with Sequel and it has been great.  I noticed in the README that the instruction for install was to use `sudo`.  It seems like this is out of date.  Similar to https://github.com/sstephenson/rbenv/issues/532, I think removing `sudo` would be a good update.
Remove the install/uninstall rake tasks

I could change these not to default to sudo, but I never use them
and see no point in having them.
Support offsets without limits on MySQL, SQLite, H2, SQLAnywhere, and CUBRID

We didn't have any tests before, so I didn't even know that
these databases don't have native support.  On SQLite and H2
you can use a limit of -1 specify no limit, but MySQL, CUBRID and
SQLAnywhere don't support the concept at all, so you have to use
a large numeric limit, and the maximum limits the databases support
are all different (MySQL 2**64-1, CUBRID 2**32-1,
SQLAnywhere 2**31-1).
Fix RDoc for null_dataset extension