Preliminary support for parsing heredocs

This lexing statefn is crazy. So many edge cases. Debating if breaking this
up into separate state fns for the different cases would be an improvement.