Make Dataset#qualify and Sequel.delay work together

This makes ASTTransformer support SQL::DelayedEvaluation objects,
returning another SQL::DelayedEvaluation that will return a
qualified version of the return value of the previous
SQL::DelayedEvaluation.
Recognize another disconnect error in the jdbc/as400 adapter
Ensure Dataset#page_count in pagination extension is at least one (Fixes #714)

This breaks backwards compatibility, but the previous behavior
didn't make sense.  For an empty dataset, there should be a single
page with no records.  By making page_count = 1 for an empty
dataset, this fixes last_page?, page_range, and potentially other
methods when the dataset is empty.
Fix literalization of empty blobs on MySQL (Fixes #715)

MySQL doesn't like empty blobs when hex escaped, so use an empty
string in that case.
Add link to RailsClub 2013 Presentation to website
Bump version to 4.3.0
Add CONTRIBUTING file

Looks like GitHub started supporting this over a year ago, but I
must have missed it at the time.  Reminded by Eric Hodel's
presentation at RailsClub.

This is currently pretty basic, but covers the main problem
areas I see in issues/pull requests.
Document the :return=>:primary option to Dataset#import
Add note on GitHub documentation links to CONTRIBUTING file
Initial commit to add Sybase SqlAnywhere Adapter.

Notes:

Sequel will default the SqlAnywhere adapter to default smallint datatypes to boolean
since SqlAnywhere does not have a boolean native type.  This can be overridden either
at the database level or at the dataset level with the method convert_smallint_to_bool=:

Database override:
Sequel::SqlAnywhere.convert_smallint_to_bool = false
or
db.convert_smallint_to_bool = false

Dataset ovverride:
ds.convert_smallint_to_bool = false

* Added Adapter specific test for this.

Integration Tests Notes:
SqlAnywhere does not implicitly set uniqueness or not null when adding foreign keys or
allow you to drop columns that are foreign keys or part of a constraint without dropping
the constraint first.  So, the following schema_test tests were changed:

spec/integration/schema_test.rb:208
It "should parse foreign key information into an array of hashes"
-    @db.create_table!(:a, :engine=>:InnoDB){primary_key :c; Integer :d; index :d, :unique=>true}
+    @db.create_table!(:a, :engine=>:InnoDB){primary_key :c; Integer :d, :null => false, :unique => true ; index :d, :unique=>true}
needed to make sure foreign key or uniqueness constraint is not violated.

+    @db.alter_table(:a){add_unique_constraint [:d, :c]}
needed to make sure a uniqueness contrainst is added before a composite foreign key is added to
make sure a foreign key or uniqueness constraint exists and not violated.

spec/integration/schema_test.rb:548
It "should add unnamed unique constraints and foreign key table constraints correctly"
-    @db.create_table!(:items, :engine=>:InnoDB){Integer :id; Integer :item_id}
+    @db.create_table!(:items, :engine=>:InnoDB){Integer :id, :null => false; Integer :item_id, :null => false}
needed to make sure foreign key or uniqueness constraint is not violated.

spec/integration/schema_test.rb:611
It "should remove foreign key columns from table correctly"
-    @db.drop_column(:items, :item_id)
+    @db.alter_table(:items){drop_foreign_key :item_id}
Since drop column will only drop a column and drop foreign_key will drop both the fk and column. SqlAnywhere
will not allow a column to be drop if it is part of a fk or constraint unless the fk or constraint
is dropped first.
Initial commit to add Sybase SqlAnywhere Adapter.

Notes:

Sequel will default the SqlAnywhere adapter to default smallint datatypes to boolean
since SqlAnywhere does not have a boolean native type.  This can be overridden either
at the database level or at the dataset level with the method convert_smallint_to_bool=:

Database override:
Sequel::SqlAnywhere.convert_smallint_to_bool = false
or
db.convert_smallint_to_bool = false

Dataset ovverride:
ds.convert_smallint_to_bool = false

* Added Adapter specific test for this.

Integration Tests Notes:
SqlAnywhere does not implicitly set uniqueness or not null when adding foreign keys or
allow you to drop columns that are foreign keys or part of a constraint without dropping
the constraint first.  So, the following schema_test tests were changed:

spec/integration/schema_test.rb:208
It "should parse foreign key information into an array of hashes"
-    @db.create_table!(:a, :engine=>:InnoDB){primary_key :c; Integer :d; index :d, :unique=>true}
+    @db.create_table!(:a, :engine=>:InnoDB){primary_key :c; Integer :d, :null => false, :unique => true ; index :d, :unique=>true}
needed to make sure foreign key or uniqueness constraint is not violated.

+    @db.alter_table(:a){add_unique_constraint [:d, :c]}
needed to make sure a uniqueness contrainst is added before a composite foreign key is added to
make sure a foreign key or uniqueness constraint exists and not violated.

spec/integration/schema_test.rb:548
It "should add unnamed unique constraints and foreign key table constraints correctly"
-    @db.create_table!(:items, :engine=>:InnoDB){Integer :id; Integer :item_id}
+    @db.create_table!(:items, :engine=>:InnoDB){Integer :id, :null => false; Integer :item_id, :null => false}
needed to make sure foreign key or uniqueness constraint is not violated.

spec/integration/schema_test.rb:611
It "should remove foreign key columns from table correctly"
-    @db.drop_column(:items, :item_id)
+    @db.alter_table(:items){drop_foreign_key :item_id}
Since drop column will only drop a column and drop foreign_key will drop both the fk and column. SqlAnywhere
will not allow a column to be drop if it is part of a fk or constraint unless the fk or constraint
is dropped first.
Added smallint to bool for jdbc:sqlanywhere adapter.  Can be overridden at database or dataset level.
Create dedicated offset method.

 - allows offset to be specified separately from limit
 - becomes a little bit more simply compatible with Arel API. :(
Minor additions to Dataset#offset support

Update documentation to reflect the method.

Make Dataset#limit call Dataset#offset if adding an offset.

Add offset to the query methods so a mutation/model dataset
method are created for it.

Add some specs regarding interaction of the offset/limit methods.
Removed require pp from jdbc.rb
Merge remote-tracking branch 'gditrick/sqlanywhere'
Initial improvements to sqlanywhere support

Recognize CURRENT_DATE defaults correctly.

Make sqlanywhere adapter work on ruby 1.8.7.

Speed up fetching large result sets by over 3x.

Fix mode on a couple adapter files (755 -> 644).
Remove unnecessary conditional in sqlanywhere conversion procs

These procs are not called if the value is nil.
Refactor Database#connect in sqlanywhere adapter
Refactor sqlanywhere adapter Database#execute_* methods

Remove some duplicated code.

Make sure that execute_insert actually returns the correct answer, by
using the same connection for the identity select that was used for
the insert.

Make sure log_connection_execute actually executes the code on the
given connection.

Make sure that autocommit is handled correctly even if there is an
exception.  I don't like how autocommit is handled manually with
an in_transaction? check, but I'll worry about that later.