juju/api/usermanager: add UserInfo

UserInfo was recently added to the server API. This PR adds the client side UserInfo method.
user factory returns DateCreated in UTC, whereas usermanger returns it in NZST (i.e. the local timezone).
user factory returns LastConnection without a location and timezone UTC, whereas usermanger returns a location and UTC.
  

> In state/api/usermanager/client_test.go:
>
> > @@ -72,3 +75,44 @@ func (s *usermanagerSuite) TestCantRemoveAdminUser(c *gc.C) {
> >  	err := s.usermanager.RemoveUser(state.AdminUser)
> >  	c.Assert(err, gc.ErrorMatches, "Failed to remove user: Can't deactivate admin user")
> >  }
> > +
> > +func (s *usermanagerSuite) TestUserInfo(c *gc.C) {
> > +	tag := names.NewUserTag("foobar")
> > +	userFactory := factory.NewFactory(s.State, c)
> > +	user := userFactory.MakeUser(factory.UserParams{Username: tag.Id(), DisplayName: "Foo Bar"})
> > +
> > +	obtained, err := s.usermanager.UserInfo(tag.String())
> > +	c.Assert(err, gc.IsNil)
> > +	expected := params.UserInfoResult{
> > +		Result: &params.UserInfo{
> > +			Username:       "foobar",
> > +			DisplayName:    "Foo Bar",
> > +			CreatedBy:      "admin",
> > +			DateCreated:    user.DateCreated().Local(),
> > +			LastConnection: user.LastConnection().In(obtained.Result.LastConnection.Location()),
>
> Just curious, why Local() for one and In(...) for the other?
>
> —
> Reply to this email directly or view it on GitHub 
> <https://github.com/juju/juju/pull/91/files#r13790918>.
>