Add leading/trailing classes to hard tab tokens

Previously the leading-whitespace and trailing-whitespace classes
were never added to tokens that were hard tabs.
:lipstick: Put leading spec first
Add spec for all whitespace lines
Assert other whitespace class is not present
Merge pull request #3555 from atom/ks-include-leading-trailing-classes-for-hard-tabs

Add leading/trailing whitespace classes to hard tab tokens
Add support for Unicode variation sequences

These are character pairs that should be treated as tokens with a
buffer delta of 2 and a screen delta of 1.
:memo: Mention variation sequence in specs
Add specs for variation sequences
:memo: Drop text
:memo: Mention variation sequence in comment
Don't treat consecutive variation selectors as a sequence