shell: Allow escaped characters in shell

Per #708.

This patch allows escaped characters in the shell, and makes the
apostrophe a quotation mark. The escape character is backslash.

The term "escape character" is used liberally in here: if a backslash is
encountered in the command line, the next character will be taken
verbatim. No escape sequences are understood, i.e. `"\n"` is just the
letter `n`, not a new line.