OpenID authentication plugin fixes

Two issues with patches:

1) A blank OpenID URL raises InvalidOpenID error. This isn't mentioned
in the docs, and I don't think is very nice behavior anyway. I'd
prefer it just to fail as other authentication failures do (i.e.
without an exception)

Josh has suggested a new result code, which is probably a good idea.

2) Result#===
The === doesn't work because case compares the other way around. In
other words it calls Symbol#=== not Result#===.
I can't see a good use case for the :unsuccessful case (esp. since
none are provided in the docs) - just use Result#unsuccessful?

These 2 changes can potentially break stuff, but I reckon' it's for
the best.

Any objections? Feel free to discuss specifics on the commit comments
at github.