Added ability to pass a Traversable object to Client::execute

I've recently had a situation where I wanted to pass an SplObjectStorage instance of service commands to a service client to execute. I couldn't do this as the execute method will only allow a single command or an array of commands to be passed. This pull request contains a small change that will allow Traversable objects to be passed to the clients execute method.