Add login with facebook and MS live

Facebook and MS Live accounts don't implement OpenID, so aren't covered by the existing
implementation of third party authentication. However, imho they are important enough
to warrant some special casing to support them.

This implementation uses OAuth2 standard to retrieve user information from either Facebook or a Windows Live
account that can then be used for authentication. It reuses a lot of the openID infrastructure to simplify
the code and minimize the special casing.

As it uses OAuth2 and OAuth requires applications to register with the provider, the website needs to be
registered with Facebook and MS Live to use this feature. The oauth app id and app secret are stored
in application.yml
Fix Facebook login, who changed URLs