Fixed broken Array check in #waterfall

Calling `tasks.constructor` is not 100% safe as certain libraries may alter constructors.

Using language standard `Array.isArray` provides for accurate duck typing.