Raise original exception if there is an exception raised when rolling back transaction/savepoint

It doesn't make sense to swallow the original exception and raise
the exception raised by the rollback code, as the original
exception is the more important of the two.
Bump version to 4.14.0
Add split_values plugin, for moving noncolumn entries from the values hash into a separate hash (Fixes #868)

I don't recommend usage of this plugin by default, since it hurts
performance, but if you want to be able to add additional selected
expressions when retrieving model objects, and later save those
objects or compare them to other objects without the additional
expressions, this will allow you to do so.
Add Sequel::Model.cache_associations accessor, which can be set to false to not cache association metadata

This makes it easier to use Sequel in an environment where code
is being reloaded and classes are being unloaded.  By default,
if you do:

  Album.many_to_one :artist
  Album[1].artist

Sequel will cache certain information, such as the class is Artist.
Let's say you later unload the Artist class and reload it.  Sequel
will still use the reference to the previous class, missing any
changes added by the code reloading (for example if you changed
the default dataset for the Artist class).

With this change, you can do:

  Sequel::Model.cache_associations = false

and Sequel will not cache association metadata.  Instead, it will
recompute it every call.

To make sure this doesn't have negative effects on Sequel as a
whole, you can set the SEQUEL_NO_CACHE_ASSOCIATIONS environment
variable when testing, and it will automatically set
cache_associations to false when testing.

The only fallout from this change is that reciprocal_type for
many_to_one associations now needs access to the associated class
if not cached, so when caching is disabled, if there isn't a
single associated class (such as when using manually creating a
custom polymorphic association), you should manually set the
:reciprocal_type option.
Support more array types by default in the pg_array extension, such as xml[] and uuid[]

This isn't comprehensive support, but it supports the most common
simple array types that weren't supported.  The remaining unsupported
types probably don't make sense to support as the scalar types
aren't readily usable.  For example, the geometric array types
should really be supported in a geometric extension that
adds support for both the scalar and array types, similar to the
other pg_* types.
Work around bug in old versions of MySQL when schema dumping a table with multiple timestamp columns (Fixes #882)

On MySQL, old versions of MySQL complain if you create a table
with multiple timestamp columns unless NULL is explicitly specified
(usually not needed in SQL as it is the default).  On MySQL, when
schema dumping a timestamp column in :same_db mode, explicitly
set :null=>true.  This will be overridden later to be :null=>false
if the column is actually NOT NULL.

This is only done in :same_db mode, as other databases don't have
this issue.

Note that this problem doesn't affect MySQL 5.6, but does affect
MySQL 5.1 and MariaDB 10.0.13.