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.
Would it really not be worth it? It doesn't have to be exhaustive:

```rust
if self.s.chars().all(|s| s.is_ascii() && s.is_alphanumeric()) {
    return write!(f, "{}", self.s);
}
```