Fix heredoc trimming

Heredocs used to be trimmed at compile-time, which meant that interpolations of multi-line strings would cause warnings about 'the shortest indent being 0' or similar things.

These changes go through all the chunks and make sure only those that come after an actual textual newline will be trimmed, just like it's supposed to be.

A pull of this branch will be followed up by new spectests for heredocs.