Trying to complete prepared statement support in mysql2 gem

There is currently no prepared statement support in mysql2 gem. However, there is a discontinued work on it in a incomplete branch by Aaron Patterson. I am trying to take over the left over tasks.

TODO list:

  • statement.c function names inconsistent w/ other .c files (e.g. result.c)
    • rename to rb_mysql_stmt_***
  • lack of test w/ bind params
  • no encoding support
  • Statement#each should be consistent w/ Client#each
    • support Hash result w/ symbolizeKeys
    • support asArray
    • support !cast / castBool
    • support streaming