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.
On 25/08/14 13:18, Jesse Meek wrote:
> In state/envuser_test.go:
> 
>> +type EnvUserSuite struct {
>> +	ConnSuite
>> +}
>> +
>> +var _ = gc.Suite(&EnvUserSuite{})
>> +
>> +func (s *EnvUserSuite) TestAddEnvironmentUser(c *gc.C) {
>> +	now := state.NowToTheSecond()
>> +	envUuid := s.State.EnvironTag().Id()
>> +	envUser, err := s.State.AddEnvironmentUser(names.NewUserTag("validusername"), names.NewUserTag("createdby"), "display-name", "alias")
>> +	c.Assert(err, gc.IsNil)
>> +
>> +	c.Assert(envUser.ID(), gc.Equals, fmt.Sprintf("%s:validusername", envUuid))
>> +	c.Assert(envUser.EnvUUID(), gc.Equals, envUuid)
>> +	c.Assert(envUser.UserName(), gc.Equals, "validusername")
>> +	c.Assert(envUser.DisplayName(), gc.Equals, "display-name")
> 
> I've added @local <https://github.com/local> to username, do we also
> want it for display name?

No.