Added Latch provider support
Fixes LightOpenId Issue #65
Google.php - multiple updates

The google provider used a deprecated scope, did not make use of the verified email and imported mail contacts only

google recommends the following scopes :
https://developers.google.com/+/api/oauth#scopes

It is a bit hard to define a google provider because google consists of so many different services and APIs. However:
hybridauth should at least follow the new OAuth scopes to support google+  but leave it to the user to customize the scopes ...

1. Updated scopes and made them dynamic
- auth/plus.login as the main log in scope
- auth/userinfo.email for verified email (optional now)
- /m8/feeds/ for gmail contacts (optional now)

[if a user does not want to use contacts, and just wants a plain profile, he can use .../auth/plus.me as only scope as well,
see http://hybridauth.sourceforge.net/support.html?place=msg%2Fhybridauth%2F9RL9irlM7ws%2FLz87NyLq9ZoJ
]

The advantage of the new login scope is that the user can select which social connections hybridauth is able to use (e.g. which contacts we get)
wrapped in a brilliant UI.

2. Makes use of verified mail now depending on the scope 
- by making a request to /userinfo

3. Supports google+ now
- google+ profile
- google+ contacts

4. Updated API versions 
- v1 for "new scopes"/google+
- v2 for userinfo
- v3 for gmail contacts
New provider for PixelPin
Guess 'base_url'

Use the current URL as 'base_url' if it isn't provided
Revert a hack that blocks scope flexibility

Hardcoding the scope disables the settings that are defined in the application itself, and blocks per-implementation scope configuration.
The scope can be defined when creating/updating a LinkedIn app, so it's useless to hack it.
The scope should be hardcoded only if it can be set elsewhere, out of the library, so that implementation can define their own scope directly, so not as a constant.
Application scope setting seems the most flexible solution for the moment.
Enable extra parameters from config to be passed into OAuth1 authorizeUrl.

It is often necessary to request the permissions of a given service during authorization, and the OAuth1Client allows for an "extras" parameter, so I am passing the provider's config["extras"] array to the api's authorizeUrl method. This may also benefit the OAuth2 provider, but I haven't gone there yet.
Removed duplicate empty displayName logic block

The code was checking for an emptyDisplay name before trying to set the displayName based on the friendly name. It was also swapping the firstName and lastName.
    
This changes removes that code block and fixes the logic in the code.
Fix notice errors and logging of error logic
Fixed the check of trustForwarded as this functionality is never being used and it breaks facebook authentication via SSL + Sites hosted behinds proxy/load balancer
Merge branch 'fix-oauth1-client-notice'
Merge branch 'fix-ssl-auth-via-loadbalancer'
Merge pull request #157 from jeffery/fix-oauth1-client-notice

Fix notice errors and logging of error logic
Merge remote-tracking branch 'upstream/master'
two paypal providers, oauth 2 and openid
Merge pull request #119 from redaktor/patch-1

Google.php - multiple updates
Merge pull request #114 from latch-app/master

New provider support: Latch
Merge pull request #120 from lukos/master

New provider - PixelPin
Merge pull request #125 from crodas/guess_base_url

Guess base url
Merge remote-tracking branch 'upstream/master'