Add PHPUnit test suite

* PHPUnit XML configuration file
* Test bootstrap script
* Update .gitignore to ignore test output and custom configuration
* Update .gitattributes to exclude test files from GitHub archive
Add Guzzle service builder for testing

Also allow overriding the service builder definition in the PHPUnit
configuration.
Add configuration for Travis CI
Add AbstractClient