Additional editorial cleanup

This one is fairly extensive, it primarily addresses a variety of ambiguities in the frame definitions, specifically clarifying issues around the use of the FINAL flag, whether or not frames must be associated with streams, error conditions, handling of unknown frame types, etc.

Please review this one carefully as the edits are fairly extensive. I have tried to make sure that none of the edits would be controversial. In one initial interim commit to my local branch I had a few items that I pulled back out in a follow on commit so you may see those appear in the commit log for the pull request. Let me know if anything looks off.