_userValues function is now working

Enormous amount of code, and a nasty (if expected) hack, but it seems to
work right.

Introduces the IdentityType, which is likely to prove useful going
forward.  It's time to recognize that Person isn't sufficient to many
needs, and we need to do something different.