MASSIVE REWRITE OF USER/IDENTITY

Checkpoint, but an enormous one.

This started with a simple but important change -- Spaces should be
owned by Identities, not Users, because otherwise their paths leak user
information.  So added 6.sql for that.

Problem is, that somewhat innocuous change wound up breaking the ability
to edit, because the FullUser objects we were passing around didn't have
enough Identity information to validate that I was actually a legal
editor.

From there, the camel's back broke.  Wound up rewriting User and
Identity almost completely, to make more consistent sense.  It had
previously been a mass of ad-hoc SQL code; now it's been refactored to
be cleaner.

Note that the distinction between "name" and "handle" has finally been
clarified to make more sense.  "name" is the display name; "handle" is
the system-unique handle for this person.  This is a major change, and
there may be bugs.

Still missing: the caching got lost in the course of all that.  We need
to get back to caching the User info, both for lookups in a master
cache, and more usefully and completely in the Session cookie.