Made dbSession, queryEngine, and permManager fields final in GanymedeSession
Removed needless comments in PermMatrix
Added comment about the behavior of selectPersona in GanymedeSession
Added a server-local restartTransaction() method in GanymedeSession
Reworked DBPermissionManager initialization

We now use a pair of constructors rather than a single one, and several
of the member fields in DBPermissionManager are now declared to be final.
Added static references to important Invids in DBPermissionManager
Clarified comments on DBPermissionManager fields
Renamed the DBPermissionManager isElevated() method to isUserLinked()
Added isEndUser() method to DBPermissionManager to clarify internal logic
De-synchronized a few DBPermissionManager methods that only use final variables
Modified DBPermissionManager.getUser() to always return checked-in version

The .getOriginal() call ensures that we don't use a version of a user
DBObject that is being edited by the current transaction.
Some javadoc formatting tweaks to DBPermissionManager method docs.
More safety use of DBObject.getOriginal() in DBPermissionManager
Removed ancient DBPermissionManager debug code
Renamed several methods in DBPermissionManager to be more properly descriptive.
Major restructuring of DBPermissionManager internals
Took redundant null initializers out of DBPermissionManager
Corrected comments indicating that username may be supergash in DBPermissionManager
Cleaned up single-paragraph method javadocs in DBPermissionManager
Simplified DBPermissionManager.getIdentityReturnAddress()