Asynchronous forked workers with specs

This is a follow up PR to #218. Sorry that it has got merged, but I don't see a better way to do without access to repo (which I don't really need).

* It adds :asynchronous option to workers that lets them finish their stuff in background.
* It adds work {} block, that will be executed in forked context, recieves worker output as argument
* It allows forked workers to use sql, but they are forced to reconnect in that case
* Async worker's work() returns pid that you can wait on, but it's not necessary.

It may be not rock solid, but I wrote specs and they pass.