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
Fixed missed merge conflict
Change url_field to text_field to support "facebook urls"

In order to be able to reuse as much of the OpenID code, we
shoehorn the facebook and MS live identities into a custom "URL",
however this URL is deliberately non valid to not clash with any valid
urls. So we need to disable rails URL check