Final changes to conform to A+

First, fixed a bug in finally, which was being called with 'reject' | 'resolve' PLUS @results.
Then made Promises accept any then'able return value, not just a Promises::Promise.
And allowed callbacks to be any callable value (eg a $cv) instead of just code refs.

Closes #22.

Docs to follow