Distinguish between single- and double-quoted heredoc identifiers.

Single-quoted heredoc identifiers do not process the content for escape
sequences.

Added tests to ensure:
  * Escapes not processed in `<<'EOD'`
  * Escapes are processed in `<<"EOD"`
  * `<<EOD` is processed as `<<"EOD"`