Port over async RPC calls from Huntercoin, implement "waitforblock" RPC call.

Port over the possibility to execute RPC calls asynchronously that has been integrated in Huntercoin for some time now.  Use it to implement a new "waitforblock" call that blocks and only returns when a new block is found - this can be used to update block explorers or other front-ends in near real-time when things change, without needing to repeatedly poll the RPC interface for changes.