(PUP-30) Add foundation for heredoc and epp (parser and model)
This adds the foundation for support of heredoc and epp. The heredoc
is at this point functional but does not get location information
right since sublocator needs to be supported by the HeredocExpression.
EPP is untested.