Add Database#cache_schema to allow schema caching to be turned of, useful for development modes where models are reloaded

In Rails dev mode, it will reload the models on request, but since
the Database object caches the schema, any schema changes made
require a full restart.  To fix this, you can turn off schema
caching.  Note that this does require reparsing the database
schema every time the model class is reloaded.
Parsing the default column values in the oracle adapter no longer requires superuser privileges
The :index option when creating columns in the schema generator can now be a hash of options passed to index

Sequel has had the :index option for a long time for creating an
index, but previously it only supported the default index
options.  Accepting a hash and passing it to index makes some
things easier.  Thanks to the ActiveRecord CHANGELOG for this idea.
Add unescoped -> unfiltered equivalency in active_record.rdoc
Merge remote-tracking branch 'rosenfeld/patch-1'
create_table now supports an :as option to create a table directly from the results of a query

This makes it simple to do a CREATE TABLE AS or equivalent query,
taking the results of a SELECT and creating a new table from it.

This refactors create_table_sql to call create_table_prefix_sql,
which adapters will now override in preference to create_table_sql.
Fix create_table :as on DB2

DB2 doesn't appear to support WITH DATA, so handle it like derby
by doing it without data and then doing an insert.
Remove extra space causing a warning in the jdbc adapter
Add info on @was_new and @columns_updated instance variables to model_hooks RDoc
Add dirty plugin, which saves the initial value of the column when the value is changed

This implements similar functionality to ActiveModel::Dirty.  It
also makes changed_columns more accurate in that it can now detect
when the value of a column is changed and then changed back.
Add dirty plugin to website
Allow json and xml serializers to support :array option in class to_json method to serialize existing array of model instances

Before, if you wanted to serialize an existing array of model
instances, you had to basically hack an existing dataset to do
so.  This is because the standard to_json method does not
pass options given to Array#to_json to the members of the array.
ActiveSupport works around this issue by overriding all of the
to_json methods, but we can't make the same change here.

To work around this issue, have the to_json method just
recognize the :array option, and have it use that instead of
calling #all to get the array of instances.
Mention some bin/sequel options in the README
Support TRUNCATE CASCADE in postgresql adapter
fix spec description
Just use opts[:cascade] on postgresql truncate
Rdoc the PostgreSQL truncate method override
let ruby require 'mysql2' even if, for whatever reason, Mysql2 is already defined
Merge remote-tracking branch 'hgimenez/master'
Don't allow truncation of dataset that uses HAVING

Only WHERE was checked previously, but if we are going to check
WHERE, we should check HAVING as well.

Also, split the check for GROUP and JOIN to it's own method, so
adapters can override it separately from the standard modification
checks.