Add deallocate() and prepare() to Statement

Also adds async variants
Add $query and $types properties to Statement
Merge branch 'feature/async-stmt-deallocate'

* feature/async-stmt-deallocate:
  Add $query and $types properties to Statement
  Add deallocate() and prepare() to Statement
Make declare string template match generated string
Add Cursor::openAsync()
Add Cursor::closeAsync()
Add Cursor::$flags property