New EnvUser

Add:
 - the EnvUser doc
 - support for setting the last login time for the EnvUser
 - factory methods for adding the envuser

Create the Admin EnvUser at bootstrap time.
I've been thinking of this since I have done the changes for @davecheney in my branch.  I think we should be returning a names.EnvironTag here not a bare string for UUID.  The UUID identifies and environment, and the tag can be used to get the environment.

Please change to:
```go
// EnvironmentTag identifies the environment for the environment user.
func (e *EnvironmentUser) EnvironmentTag() names.EnvironTag {
    return names.NewEnvironTag(e.doc.EnvUUID)
}
```