Adds AbstractProvider::fetchProviderData().

New protected method is responsible for making the request to a
provided URL, allowing for multiple API endpoints to be used within the same
provider.

AbstractProvider::fetchUserDetails() remains, but now only builds the
user details URL and passes it to AbstractProvider::fetchProviderData().
Adds methods that fetch a Github user's email addresses.
Updates string comparison to use identical operator
Updates urlEmailEquals for use with Github Enterprise

See #188.
Adds emails endpoint to GithubTest::testGithubEnterpriseDomainUrls
Merge pull request #189 from jeremykendall/fix/github-get-user-email

Adds methods to allow fetching user email addresses from Github