Stmt rebase rebase rebase

Naive rebase of https://github.com/sodabrew/mysql2/tree/stmt_rebase on current master with my changes added. By "naive" I mean I just resolved conflicts and ran the tests, rather than looked at the diff of every single commit.

#405  #476

Most of the work: https://github.com/sodabrew
My fixes:
(1) spec/configuration.yml being ignored in some cases
(2) segfault when a string was passed into Statement#execute
(3) Used MYSQL_TYPE_DATE instead of MYSQL_TYPE_NEWDATE. To choose one, we'd need to do some sort of test at runtime.
(4) Specs for every ruby type bound int ext/mysql/statement.c