Implement MaxData GeoIP2 provider and database adapter

Update README.md, add requirements/suggest to composer.json.
Change access of GeoIP2 database-reader, due to problems with JSON-encoded geodata.
Refactor GeoIP2Provider: Use injection of Maxmind provider.

Instead of using only the database reader of Maxmind, inject the Maxmind provider. Thus both is available: database reader and webservice client.
Throw InvalidCredentialsException with GoogleMBP

* When an invalid clientID / privateKey
  combination is used with the
  GoogleMapsBusinessProvider, throw an
  InvalidCredentialsException instead of a
  NoResultException.

* Test that the exception is thrown with the
  testGetGeocodedDataWithInvalidClientIdAndKey(),
  and
  testGetGeocodedDataWithINvalidClientIdAndKeyNoSsl()
  methods.

* Add two tests for the GoogleMapsProvider to
  test that expected results are returned when using
  a valid API Key (commented example added to
  phpunit.xml.dist and README.md) and that an
  InvalidCredentialsException is thrown when an
  incorrect API Key is used.
Merge pull request #315 from Decave/314-throw_invalid_credentials_exception_with_bad_google_maps_key

Throw InvalidCredentialsException with GoogleMBP
Merge pull request #303 from jenswiese/geoip2

Implement MaxData GeoIP2 provider and database adapter
Fix CS/doc for PR #303
Add PHP 5.6 to travis-ci config
remove Google's sensor parameter

The Google API previously required that you include the sensor
parameter to indicate whether your application used a sensor to
determine the user's location. This parameter is no longer required.

- https://developers.google.com/maps/documentation/geocoding/#Sensor
Merge pull request #316 from JCID/master
Added support in MapQuestProvider for licensed endpoints #318
Merge pull request #319 from jpb0104/mapquest-licensed-endpoints

Added support in MapQuestProvider for licensed endpoints #318
fix google maps provider test
add cached responses
Merge pull request #321 from toin0u/patch-fix-test

Fix tests suite