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.
I think this wording is a little ambiguous. From my reading, I could imagine that `"""\n\n\nThe string"""` would have all three `\n` characters trimmed, when I think we only want the first one trimmed.

Can we simply enumerate all cases in which characters are trimmed? So:

> If any of the following character sequences appear at the beginning of a multiline string, they are removed: `\r\n` or `\n`.

> If the first character of a multiline string is `\n`, then it is removed. Similarly, if the first two characters of a multiline string are `\r\n`, then they are removed.

If `Newline` is redefined, then I think we could simplify this to:

> If a multiline string starts with a `Newline`, then it is removed.