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).
NewUserManagerAPI already only allows client entities to use it: line 41:
if !authorizer.AuthClient() {
         return nil, common.ErrPerm
}

I test that a machine agent is unable to use the API.

> In state/apiserver/usermanager/usermanager.go:
>
> > @@ -42,10 +44,14 @@ func NewUserManagerAPI(
> >
> >  	// TODO(mattyw) - replace stub with real canWrite function
> >  	getCanWrite := common.AuthAlways(true)
> > +
> > +	// TODO(waigani) - replace stub with real canRead function
> > +	getCanRead := common.AuthAlways(true)
>
> Can you change the AuthAlways to be one that only allows client 
> connections.
>
> —
> Reply to this email directly or view it on GitHub 
> <https://github.com/juju/juju/pull/22/files#r13732783>.
>