#660 Added returnValues functionality to spy strategy

The intention was first to update returnValue method to accept varargs and return them one by one on subsequent calls. However, it will not allow a single return value to be specified for all calls to the spied method.
Hence, a new method; returnValues().

It takes the varargs parameters and return them one by one till all are over and then returns undefined for subsequent calls to the method.