Fixed bug with user impersonation and added List Endpoints method

Fixes #200

### Changes
- fixed bug with impersonation
- modified the impersonate method to retrieve the token details (via the Validate method) and the endpoints (via the new List Endpoints method) and then build a new `UserAccess` object.   This is due to the impersonate response only returns the token id, and none of the user info or the service catalog.  Therefore it need to be built.