Debounce playground

Restores the per-keystroke delay, as discussed in #344, but only after a
failure, to maintain responsiveness under normal conditions.

Includes the content of es6-promise-debounce, and should eventually use
this (or whatever it ends being called) from CDN, pending release.

This closes #346 and fixes #344.

Squashed commit of the following:

commit c212de41634816c20878e61a031b8665d012f197
Author: Nicholas Bollweg (Nick) <nick.bollweg@gmail.com>
Date:   Fri May 9 18:55:03 2014 -0400

    adding updated debounce from @dlongley

commit 5ea32572a7b847f97ace024bdf429f151040acbb
Author: Nicholas Bollweg (Nick) <nick.bollweg@gmail.com>
Date:   Fri May 9 00:59:19 2014 -0400

    using es6 promise debouncing

commit 71e9995290feef2f7166edf04a5426d8b417dc5d
Author: Nicholas Bollweg (Nick) <nick.bollweg@gmail.com>
Date:   Tue May 6 21:58:11 2014 -0400

    #344 adding fetchRemote cache

commit 0c9a18e77066ee99586d6f2f5013bf7f18a6dbea
Author: Nicholas Bollweg (Nick) <nick.bollweg@gmail.com>
Date:   Tue May 6 21:36:40 2014 -0400

    #344: changing to a promise-ing debounce

commit b705bafe13ea2417456ffa16e760e08e95ce481c
Author: Nicholas Bollweg (Nick) <nick.bollweg@gmail.com>
Date:   Tue May 6 21:16:58 2014 -0400

    #344: adding real debounce of process and fetchRemote