libstd/io/process/Command: fully quote and escape the command and all args

This makes the command (which may have trailing or leading white space
the user does not expect) unambiguous.

It also makes any usage of a literal ' (single quote) in arguments or
the command name unambiguous by escaping them in the same style as posix
shell.
I was actually interested in making this format to `c99` instead of `'c99'`, would it be possible to avoid always printing quotes and only do it when necessary?