Add AsyncWaiter convenience class.

This is copied from Chromium's /device directory. After Chrome is updated, I'll switch it to use this class.

R=viettrungluu@chromium.org

Review URL: https://codereview.chromium.org/703463003