Convert garden-o-matic guts over to promises where appropriate

This gets rid of all one-shot callbacks in favor of promises. There are
a few "progress" style callbacks which don't need to be converted.

R=abarth@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@167530 bbb929c8-8fbe-4397-9dbb-9b2b20218538