Adding Kill(bool entireProcessTree) -- terminates a process tree (dotnet/corefx#34147)
* Adding Kill(bool entireProcessTree)
* Slightly cleaning up NtQueryInformationProcess interop code
* Trimming down PROCESSINFOCLASS enum members
* Refactoring--adjusting indents, changing param from ref to out, etc.
* Revising NtQueryInformationProcess-related code
* Comment & indentation tweaks
* TryGetParentProcessId -> GetParentProcessId rename/refactoring -- includes eliminating the output parameter
* Removing UAP double-definition of KillTree()
* Moving code so that not included in Uap build & tests so that not included in Uap and NetFx builds
* Moving relevant code from Windows -> Win32
* Moving relevant code from Windows -> Win32
* Working to satisfy contract for Uap (code written to fail test to verify that it works)
* Typo fix (missing return signature)
* Removing unneeded Uap-specific test file
* Adding temp. test to verify that UAP CI is catching test failures.
* Using lists (vs. enumerables) as test assert arguments
* Giving Kill() a moment to take effect
* Removing whitespace
* Removing irrelevant comment
* Revising initial check that ensures process has started.
* Moving process tree creation outside of finally
* Adding retry logic to tests
* Adjusting retry times/delay
* Adding backoff to retry helper
* Introducing non-auto-dispose variant of CreateProcess; refactoring
* Improving exception handling
* Moving catch
* Minor refactoring/reformatting
* Testing test execution by CI
* Partially removing code testing CI system
* Experimenting with implementing on OSX
* Adding cast
* Re-adding [ActiveIssue] attribute accidentally removed
* Re-adding inadvertently-removed commented-out test attributes
* Allowing aggregated Win32Exceptions to propagate out; disallowing calling Kill(true) on tree containing caller
* Adjusting test attributes, removing CI verification test, adjusting expected exception
* Marking non-local process test as platform-specific
* Adding PlatformNotSupported throw for Uap.
* Adding missing closing XML tag
* XML doc tag tweak
* Cleaning up two merge artifacts (whitespace + comment)
* Adding console output for debugging
* Fixing typo
* Removing logging to console
* Removing unused parameter
* Unix & OSX exception tweaks
* Variable rename
* Whitespace tweak
* Refactoring IsInTreeOf to use @danmosemsft's optimization suggestion; Renaming method
* Missed a rename
* Tweaking
* Reworking IsSelfOrDescendant to use refactored GetChildProcesses
* Minor fix
* Applying minor tweaks suggested by @krwq
* Adding a delay safety cutoff to RetryWithBackoff per
@krwq's suggestion.
* Adjusting backoff delay max to 10 seconds.
* IsSelfOrDescendant -> IsSelfOrDescendantOf
* Unix: If Stop() fails, don't try to continue with the process (thanks @tmds!).
* Fixing typo.
* Adding comments about kill/stop returning before termination/stopping completes.
* Adding comment.
Commit migrated from https://github.com/dotnet/corefx/commit/
81bd671efda5db20fae1eb381aeff2cf8ea727ac