Promises can be resolved with multiple arguments

Closes #9.

We allow up to three arguments. More is a code smell, but the reason for our limitation is that every additional argument requires so much more code.