* die with a useful error message if the reader runs out
  of input while parsing a heredoc style value.
  * touched up the Reader.
  * touched up the test.
* clean up rjbs' pretty main loop by pulling the heredoc
  parsing stuff down into the parsing method.  This requires
  passing in the handle so that the parser can read the rest of the
  value, but....

* if/when the Reader dies because it ran out of input without
  finding a heredoc terminator, the useful error message now includes
  the line at which the heredoc started.

* Empty heredocs now produce an empty string as a value, in line
  with how the single line version works.
* fix a misleading typo in a comment.