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.