Fix GetUserName unit test
Fix GetUserName unit test

A deadlock was occurring when executing `whoami` through
System.Diagnostics.Process because we were calling `WaitForExit()`
before `StandardOutput.ReadToEnd()`. According to the documentation, "To
avoid deadlocks, always read the output stream first and then wait,"
which is what we do here now.

Additionally, `Process` implements IDisposable, and is now automatically
disposed via the `using` block.

https://msdn.microsoft.com/en-us/library/system.diagnostics.process.standardoutput(v=vs.110).aspx
https://msdn.microsoft.com/en-us/library/System.Diagnostics.Process(v=vs.110).aspx

KarolKaczmarek/PowerShell,JamesWTruher/PowerShell-1,daxian-dbw/PowerShell,daxian-dbw/PowerShell,kmosher/PowerShell,TravisEz13/PowerShell,PaulHigin/PowerShell,PaulHigin/PowerShell,kmosher/PowerShell,KarolKaczmarek/PowerShell,bingbing8/PowerShell,daxian-dbw/PowerShell,jsoref/PowerShell,kmosher/PowerShell,jsoref/PowerShell,TravisEz13/PowerShell,jsoref/PowerShell,bmanikm/PowerShell,JamesWTruher/PowerShell-1,KarolKaczmarek/PowerShell,bmanikm/PowerShell,JamesWTruher/PowerShell-1,PaulHigin/PowerShell,kmosher/PowerShell,jsoref/PowerShell,kmosher/PowerShell,PaulHigin/PowerShell,bingbing8/PowerShell,bmanikm/PowerShell,KarolKaczmarek/PowerShell,bingbing8/PowerShell,daxian-dbw/PowerShell,jsoref/PowerShell,KarolKaczmarek/PowerShell,bmanikm/PowerShell,bmanikm/PowerShell,TravisEz13/PowerShell,bingbing8/PowerShell,TravisEz13/PowerShell,JamesWTruher/PowerShell-1,bingbing8/PowerShell