Add  Server API method: UserInfo

Add a method to the UserManagerAPI which takes a username and returns a struct of user information (username and display name at this stage).
Yep, just realised that. result.Error = common.ServerError(err)
>
> In state/apiserver/usermanager/usermanager.go:
>
> > +	for i, userArg := range args.Entities {
> > +		_, username, err := names.ParseTag(userArg.Tag, names.UserTagKind)
> > +		if err != nil {
> > +			return params.UserInfoResults{}, err
> > +		}
> > +
> > +		user, err := api.state.User(username)
> > +		var result params.UserInfoResult
> > +		if err != nil {
> > +			if errors.IsNotFound(err) {
> > +				result.Error = &params.Error{
> > +					Message: fmt.Sprintf(`No user with the username:"%s" could be found`, username),
> > +					Code:    params.CodeNotFound,
> > +				}
> > +			} else {
> > +				result.Error = common.ServerError(common.ErrPerm)
>
> but... this isn't ErrPerm, is it? It's some sort of internal error. 
> Ideally we'd log it and return something anodyne... not sure we've 
> been doing that properly elsewhere, but I don't think there's any 
> reason not to start here.
>
> —
> Reply to this email directly or view it on GitHub 
> <https://github.com/juju/juju/pull/22/files#r13637148>.
>