explicitly state where whitespace and comments are allowed in grammar:
  in any amount before any reserved word, identifier, or value, except
  no newline immediately before an unquoted value

clear up some grammar formatting issues
in implementation:
 - force linebreak-semicolon to always parse as a semicolon-delimited string
 - this is done by reporting an error if a matching closing linebreak-;
   isn't found.
 - this means that linebreak-semicolon won't be parsed as an unquoted value,
   since semicolon-delimited string has higher priority
in save frame:
 - key/value pairs are not allowed after loops

fix grammar, implementation, and tests to reflect this