Merge pull request #23 from clintongormley/master

Conform to Promises A+
Finally was being called with reject/resolve instead of just @results
Accept any then'able value, not just Promises
Accept any callable value as a callback, not just a code ref