* Introduce a request builder.
We inject every dependency (eg RequestFactory and MultipartStreamBuilder) and we do not have to use postMultipart.
* code style
* Use uppercase on http verbs
* Added setters and use getters
* Added tests
* style
* Removed inheritence, Renamed classes, Mark all classes as final
* code style
* Updated docs
* Code style
* Be consistant with the naming of functions
* Fixed tests
* Added base for the new API
* code style
* Added response classes
* Added support for serializer
* The abstract API should not know of Mailgun
* Minor
* minor
* Using a client configrator
* code style
* Put HTTPClient in the configurator
* Do not use the api() function
* Use stable version of Assert
* style
* Fixed tests
* make the httpClient private
* Renamed ResponseSerializer to ResponseDeserializer
* Disabled tests that are testing error messages with Assert
* style fixes
* Refactoring fix
* Write test to verify expected behaviour when we provide a String
* Fix broken test checking if the variable is an Array
* PSR Standard using single quote instead of double quote
Tried to throw MissingRequiredMIMEParameters which didn't exist in current namespace or added via use. Connection exceptions was included by MissingRequiredMIMEParameters is in messages exceptions so changed the added exception name to messages.
Exception message constant didn't exist. So added it.
Created a Mocks directory to seperate mocks from classes.
I moved Mailgun\Tests\MailGunTest to Mailgun\Test\Mocks\Mailgun. As it's not a
test it's a mock. So shouldn't be suffixed with Test.
I mocked Mailgun\Tests\Connection\TestBroker to Mailgun\Tests\Mocks\Connection\TestBroker as it's a mock and should be with other mocks.