Allow extra test service builder

This won't be in version control and can contain sensitive credentials
for testing the network, etc.
Add Account client with VerifyCredentials command
Add instructions for running tests to README
Allow marshalling responses into "responseClass"

This is documented to work already with Guzzle 3.2.0, but it doesn't.
Basically, you can put a "responseClass" field in an operation in the
service description, and responses will be put into that class.
Use ModelFactory to create response class objects
Improve GuzzleTestCase::setMockResponse function

Implemented a convention for the mock response directory structure,
allowing the response files to be automatically found if they're
arranged correctly.
Add basic CaseClient and GetCases command/iterator

Needs more validation around the GetCases command parameters, and then
add more commands.
Use CommaAggregator for any AbstractClient clients

The Desk.com API expects multiple values to be specified with
comma-separated values, so all clients that inherit from AbstractClient
should use the CommaAggregator.
Allow non-array single values in array parameters

A primitive may be used for the value of a parameter that requires an
array, it will be automatically wrapped in an array by the PreValidator.
This will then undergo standard validation according to the array items,
as if it had been originally passed in as an array.
Improved validation of GetCases parameters
Use Guzzle version 3.3
Update Composer dependencies
Use Guzzle ResponseClass marshalling functionality

As this has been implemented in core Guzzle, the re-implementation
previously used can be removed.
Don't allow negative value for case_id
Add GetCase command to get a single case by ID
Add Travis configuration
Use reflection to avoid awkward getDirectory()

Reflection can provide the directory that the concrete child class of an
abstract class is defined in.
Avoid GitHub rate limiting Travis composer install
Add Travis build status badge to README
Increase error_reporting() to maximum during tests