* Adding a close method for graceful shutdown

@ronkorving could you have a quick look? I will test it further with some of our tools in the next few hours.
I think I saw node-mysql do it based on whether or not you provide a callback. It's a pattern I can get used to. If I say "fire and forget" (ie: no callback):

- it doesn't mean I don't care about errors, so report them as events please.
- it just means I don't expect or need successful return values

But if I pass a callback, I expect the result to come back to me. Regardless of it being an error or not. To then also get it in another place is confusing, as other errors (unrelated to me making a query, or calling send) also end up there.