- invoke command using shell option `exec` which then replaces the
  current process with the newly forked subprocess

  This shortens the `ps` output footprint, as the invoker script, eg.
  `xpcli` will no longer appear there. Also this makes process control
  work where other processes start a runner, remember its PID and later
  send a KILL signal to that PID; before this change, it just killed
  the runner process, leaving the underlying `php` process alive.
Merge pull request #11 from xp-framework/fix-kill

Good to merge.
- Encode command line arguments as UTF-8
- Refactor: Use variable -> shorter code
- Refactor: Use TrimEnd(char) variant
- Only check as many directories as necessary
- Add forward-compatible "wmain" configuration option
# This is a very long shot at the future of PHP - who knows what will
# PHP will look like once this is introduced
- Also double-encode command line args on Cygwin
- Compile
Simplify sourceode by sticking with "class.php" / "class-main.php"
Simplify sourceode by sticking with "class.php" / "class-main.php"
Merge
Make outputting UTF-8 to the Windows cmd.exe work w/o garbled output
Use lambda notation instead of (longer) delegate form
Use JSON encoding with Unicode escapes for command line args
Not all bytes convert safely, e.g. "Текст" comes out as "Текс�?"
or as `{\320\242\320\265\320\272\321\201\321?}` instead of the correct
`{\320\242\320\265\320\272\321\201\321\202}`.
Encode tool if passed
Use UTF-7 instead of JSON, this makes it easier to implement in Bash
Trim trailing space off lines from INI file
Encode arguments to UTF-7
No need to encode tool to UTF-7, always pure 7bit ASCII