Add FastAsync.fastAwait macro

This improves async/await to return synchronously if the future is
already completed. See also https://github.com/scala/async/issues/73