Handle more disconnect errors when using the postgres adapter with the postgres-pr driver

Also, swallow an error that can occur when disconnecting.
Hex escape blob input on MySQL

This doesn't appear to be necessary on the MySQL side, but if you
mix utf-8 input strings and blobs in the same string on ruby 1.9+,
you can end up with encoding errors on the ruby side.  Hex encoding
the blobs can work around that, and doesn't appear to cause an harm
other than bloating the SQL string used.  Performance sensitive
code should be using prepared statements for large blob input
anyway, so that doesn't seem like a major downside.
Update and sort .gitignore

Ignore the spec_bin temporary files.  Remove the static presentation
ignores for the website, since they are just linked to now.  Remove
the .rvmrc ignore, since Sequel doesn't use one.

I'm considering removal of the 3 *. entries, but I'll leave them in
for now.
Handle spec_*cov tasks without a spec/rcov.opts file

The file currently exists in source control, but with some changes
it may not, so make sure it runs without the file.
Only include specific file extensions in gemspec

The previous gemspec was pretty loose, and I could see unexpected
files slipping in by accident.  Change things so that only
expected file extensions appear in the gem.
Note exception to general code order suggestion
Fix inconsistent indentation
Skip prepared statement usage in some additional cases in the prepared_statements_associations plugin

If the associated class has a filtered dataset, then unbinding it
may produce a prepared statement with a mismatched number of
placeholders, leading to in incorrect query.

Note that it is probably possible to handle such cases with
prepared statements, by comparing the unbound variables to the
association variables.
Use prepared statements when the association has :conditions in the prepared_statements_associations plugin

This tweaks the previous commit to compare the unbound variables
to the association variables, and bind any that are missing.  This
should allow safe prepared statement usage for associations with
conditions.

Note that this only works because conditions should not be able
to contain instance-specific code.  You can use a proc for conditions,
but then it is a virtual row block and doesn't have access to the
dataset.  Both the block form and the :dataset option allow for
instance-specific code, so prepared statements should not be used
for either of them.
Prepare one_to_one associations in the prepared_statements_associations plugin

I'm not sure why these were skipped when the plugin was originally
developed, but support is fairly trivial to add.
Allow providing ranges as subscripts for array[start:end]

This is how an array slice is done in PostgreSQL.  It maps
fairly nicely to a ruby usage of [start..end] for slicing arrays.

Unfortunately, one limitation of this method is that if you
want the start or end of the to be of types that ruby does not
support using in a range, you are out of luck (have to use
raw SQL for that still).
Make sure an offset without a limit is handled correctly when eager loading

In most cases previously, it raised an error.  In some cases, such
as one_to_one when the database supports distinct_on, it could give
incorrect results due to the offset being ignored.
Make dataset string literalization that requires databaset connection use dataset's chosen server

Previously, the transparent master/slave behavior offered by
Sequel fell down in string literalization, since it always used the
default server for dataset literalization.

This uses the dataset's server if one is specified.  Note that this
is still not enough to get transparent behavior unless you have a
server set for all datasets.
Fix typo
Use nokogiri <1.6.0 on Travis, since 1.6.0 doesn't work on ruby 1.8.7
Raise exception for infinite and NaN floats on MySQL (Fixes #677)

MySQL doesn't support direct input of these, and on 5.1.24+
automatically translates any computation yielding them to NULL.
The previous behavior sent bad SQL to the server, this just has
Sequel raise an exception instead of sending a query.

It's possible in the future that the behavior could be customized,
but as it's unlikely someone will need it, there is no reason to
do so at this point.
Rename temporary table in spec so it doesn't overlap with normal table
Remove @default_eager_limit_strategy from default model class instance variables to inherit

This instance variable is associations-specific, and already handled
by the associations plugin, so it was really being set twice.
Add a spec for one_to_one eager loading only using first entry

The code for this already exists, I'm just not sure there was an
existing spec for the behavior.
Handle offsets correctly when eager loading one_to_one associations

Previously, offsets for one_to_one associations were only handled
correctly when using the window_function eager limit strategy.
Using the distinct_on eager limit strategy or no eager limit stategy
didn't work if there is an offset, since it picked the first matching
row in both cases.

This does not use the distinct_on eager limit stategy if there is
an offset, and adds support for a ruby eager limit strategy that is
used by default for offsets.  The ruby eager limit strategy uses
array slicing, just like for *_to_many associations.

As an optimization a slice_range method has been added to the
association reflections, which returns the range to use when slicing.
This should be faster than creating a new range for each object.

While here, add integration tests for offset but no limit cases of
associations.