Preserve quotes in shell expressions

Resolves bkabrda/devassistant#131. The issue was that the tokenizer
would recognize quoted strings as literals, and thus stripped
the quotes, before realizing that it is in shell expression and
should thus treat all tokens verbatim.

After this commit it is no longer the tokenizer that does the stripping,
it is instead the nud function of the (literal) token, which makes
more sense anyway.