New setting site_requires_login

When enabled, this setting makes the site appear empty (no topics, no
categories) to anonymous users.  After logging in, topics and categories
become visible.

This is the same changeset as #590, all rebased into a single commit.