Complete testing of Password recovery
Minor spec fixes
Initial implementation of OpenID login

Allows a user to sign up using a single OpenID provider.
Users with an OpenID provider do no need to (but may)
supply a password, but do still need a Username and
(confirmed) Email address.

OpenID users can remove their password to prevent login
except via OpenID; or add a password to allow login by
password.

Existing users cannot currently add an OpenID provider to their
account; nor can more than one OpenID provider be used by a
single account. This will change.

Does not support OAuth to any endpoint. This will change

* Changed OpenID gem
* Created some JS-only actions (with non-JS fallbacks), so added modernizr
* Removed devise validatable from User (to allow missing password)
* Removed requirement to confirm password in order to change stuff
* Allowed editing of username
* Field errors are repeated by the field itself. Not sure about this one,
* although it's very good for OpenID name clashes
* Moved session store to the cache. Need to see if this works