Guzzle 5

a rebase of https://github.com/thephpleague/oauth2-client/pull/174
Dont get me wrong @GrahamCampbell, I am usually really impressed with your feedback and always grateful for your efforts, but just shoving a ? in as a comment instead of taking a look is... well... come on dude. :)

If you take a look [over here](https://github.com/thephpleague/oauth2-client/blob/9d6aa586760dcc75d38577c663600c0177eb0615/src/Provider/AbstractProvider.php#L32) you will see `json` is one valid option for the `responseType` property. Another is `string`, which means form decoded.

Now, that doesn't sound like 100% the best way of doing things, but it does work. 

It might be an idea to have some decent mime type detection going on there, but this has been the way its worked since WAAAY before Guzzle was in there, and this was using `file_get_contents()` more often than not.