Promise.all and Promise.race accept only array
version
update tests
allow objects with "then" property (not method)
only lookup in objects for the method called then