Add user security attributes for Pageant

This fixes issue #92 by constructing the security attributes for the memory-mapped file from the user's access token, so that the Pageant socket may communicate with the Pageant process when each is in a different UAC context. Notably, this does **not** work when we run with limited privilege and attempt to communicate with a Pageant window that was started with elevated privilege, but this is consistent with PuTTY's behavior.

Also, this does not resolve the issue as related to KeeAgent. Merging this PR can wait until I incorporate the solution for that, or I can open a separate issue. The fact that KeeAgent's Pageant-like agent implementation takes place in a unicode window is, I believe, what keeps the fix from applying to it as well, and that may be outside the scope of the original issue that this addresses.