Bug fixes for Invoke-TokenManipulation

Processes could not be started when the script was being run from
Session 0. The fix is to use the CreateProcessAsUserW function when
running in Session 0. This API requires SeAssignPrimaryTokenPrivilege
priviege, so for non-session0 calls I still use CreateProcessWithTokenW
which does not require special privileges.
Merge pull request #25 from clymb3r/master

Bug fixes for Invoke-TokenManipulation