Fix crash: chain observer notifications should be asynchronous

Chain observers are free to yield if they wish, but nothing in the
push_block call stack should ever yield, so chain observer notifications
ought to be made asynchronously. This commit makes it so.