Proxy and CurrentSDKUser integration

Current SDK user now is proxy aware. It will use swap out the authenticated user for the proxied user when a proxy is detected.
CancelProxy now actually cancels.

For Issue DovetailSoftware/Agent/1109
Moved user impersonation from ClarifySessionCache to CurrentSDKUser

Added tests for creation/cancelling impersonations.

For Issue DovetailSoftware/agent/#1109