Clarify whitespace and newline rules.

This PR greatly clarifies the use of whitespace and newlines in TOML. A few notes and ramifications:

* Behavior on Windows is noted.
* Key and table names cannot contain any whitespace, even around brackets or dots.
* Keys and dot-separated table parts follow the exact same rules.
:+1: 

`\r` was once used on Mac, but Mac OS X changed that AFAIK.