Added queue.push() method overload for strongly typed queues

queue.push() method can accept an array of objects. If the queue was created using a task of type **any** the push() method would accept array in tests but this didn't work for task object that was defined as strongly typed. In that case push() method would accept only one task object as first parameter.

This change allows you to pass array of strongly typed objects to the queue.push() method.