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.
What if `Newline` was defined as either `\r\n` or `\n`. This leaves out a lone `\r` as qualifying as a new line, but I think this OK, unless it's still commonly used somewhere?