Implement Promise/A wrapper.

Closes #6.