Pass client to optional initialization

Because user object initialization was moved into the
initOptionalProperties() method, the client object now needs to be
passed to that method so that it can be passed to the User
initialization.
Add method to retrieve user lists
Add method to return a full list in case the list is only partial
Add tests for full or partial list initialization
Add method to retrieve a user's lists
Add user lists to demo