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.
Enable use of window functions for limited eager loading by default

This has been available as an option since 3.28, but since it should
perform better and there are no known issues with it, it's probably
best to enable it by default.
Allow the disabling of sequel_pg using the NO_SEQUEL_PG environment variable

Previously, sequel's postgres adapter always attempted to require
sequel_pg.  Making it optional makes it easier to test the default
code if you have sequel_pg installed.