Async

Merging async branch into master to support asynchronous payments in the extension