Refactor; add stmt.execDirect

* Add execDirect method for Statements (no way yet to retrieve results)
* Split handle-related, Init, Free, and async-related methods into
EosHandle (reduces repetition in Connection/Statement)
* Only call RegisterWaitHandle when an async operation begins, and close
the handle when the operation ends. When all operations end, destroy the
uv loop.
* Keep owners of async operations alive using INotify::Ref() and
INotify::Unref()
* Remove ODBCHandle<HandleType>
* Removed anonymous namespaces where possible (debug messages less
eye-stabbingly ugly now)