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.
If you have a non-nil error return, you shouldn't ever depend on the non-error values of the call.

We can restructure this so it looks like this:
```go
if err != nil && errors.IsNotFound(err) {
	_, err = st.AddEnvironmentUser(uTag, uTag, user.DisplayName())
	if err != nil {
		return errors.Trace(err)
	}
} else {
	upgradesLogger.Infof("user '%s' already added to environment", uTag.Username())
}
```