Fix bug in lexer

The `sexp` identifier is not bound in this branch of the if-else-if
tree. I created a location that is somewhat close to the problematic
position, but it remains to be seen how accurate this is.
Teach WeScheme how to desugar `quotedExpr`

Concisely:

  D[['(stuff ...)]]  ==>  (list D[[stuff]] ...)

  D[[3]]  ==>  3

  D[["foo"]]  ==>  "foo"

  D[[foo]]  ==>  'foo

There's a few weird corner cases which I've documented in the comments.
The real scary thing is that `Vector` objects may appear inside `literal`
objects