Begin Nan refactoring

To allow node future v0.12 support
Only 124 errors now!

TODO: Refactor TOp::New, getters and setters, and JSBuffer stuff
It builds...

And all unit tests pass?

Almost too easy...
Fix warning in Connection::Connect
Enable thread pool mode

For if asynchronous notifications are not available.
* Allow disabling asynchronous notifications via a compile-time flag.
* Properly set the notification event on statement handles.
* Fix Operation::Owner() possibly calling V8 functions off the main
thread
Fix some compile errors on node 0.10

* StackTrace::New doesn't exist
* Can't use NanReturnValue since it references "scope", which is
actually defined in Wrapper::Fun
Remove defunct Throw*Error helpers

Also remove some bogus assert() calls in async callback code
Better debug info when free() called incorrectly

Rewrite stmt.cancel() test
Add test for stmt.prepare() then stmt.execute() twice
Add TryCatch around and Unref() after threadpool callback
Implement S1118 handling for statement operations (though it shouldn't
be needed) and fix bug in S1118 handling for connections
Fixed errant debug message

Temporarily disabled execute() twice test (seems to be causing some sort
of errors)
Fixed 3 second delay when running tests
Use node::MakeCallback instead of Function::Call

This seems to fix issues relating to callbacks and statements being
freed before operations finish, but I don't know why. Answers on a
postcard please.
Fix statement cancellation test sometimes failing

Probably due to stmt.cancel() being called before the worker thread is
initiated. "Fixed" using a 500ms setTimeout to "ensure" that SQLExecute
has been called.
Add generator-based wrapper as default export

* Raw bindings available at require("eos").bindings
* Make UV the default for the moment (investigating async callbacks not
always firing)
* Debug methods to get list of active operations