Fix for Htmldiff strips newlines from pre tags (#1206077)

This pull request attempts to fix bug #1206077
The issue is that htmldiff() assumes HTML whitespace is not important and removes most of it, but in some cases (such as inside a \<pre> tag) the formatting should be preserved.

I noticed that token objects already have a trailing_whitespace attribute, which used to be a boolean and indicated a single space after. I changed that to either be a string or None (thinking about it this None could be an empty string instead, I will update the request later if needed) which will contain any additional whitespace after the token. The whitespace is extracted in the split_trailing_whitespace function.

All current and new tests pass.