Add feature flags and block-helper replacements for the common uses of `can?`

This PR makes it easier to have features with a global on/off flag - for example UIKonf doesn't use the 'Motivations' feature. It also adds mode-related helpers that wrap the common query cases - that someone is signed in and can X Y, or that someone is not signed in and...

It also introduces an AnonymousUser class, which represents an anonymous user, allowing us to eliminate nil-as-anonymous-user and some conditional logic.

This closes #38