Add block-based helpers for the common uses of can?

Almost all uses of `can?` in the views were for either `is-logged-in &&
can?(...)` or `is-not-logged-in && can?`. This provides helpers for
those cases. `user_can` (and `user_cannot`) along with `anyone_` and
`anonynmous_` versions of those.

This also adds an anonymous user object, `AnonymousUser`, which simply
claims to be anonymous, and the corresponding methods on `User`, which
claims not to be anonymous.

I'm not 100% sure of the names of the helpers, so I'm not opening a pull
request until I've slept on it. Thoughts welcome.