Allow promise-like objects

This also makes Qx methods work with promises from older Q versions
0.2.3