Make the argument process of command utility "taskkill" behave same as what Windows does.
Now options are no longer detected as parameters when placed after options that accept one.
For example, `taskkill /im /f` will no longer regard `/f` as a process name.
If `/?` and `/f` options appear more than once, an error will be reported, telling they are not allowed more than once.
(e.g. `taskkill /f /pid 1000 /f`)
If only one option `/f` is given without `/pid` or `/im`, an eerror will be reported, telling that one must specify `/pid` or `/im`.
(e.g. `taskkill /f`)
Additional changes:
- Combine SendCloseMessages() and TerminateProcesses() functions.
- Protect new written code with `#ifdef __REACTOS__`