is there a reason we don't use the official Q.isPromise, rather than copying-and-pasting it?