Handle left Token being null in == and !=.
Fixes #1797. This seems the simplest change to get things working correctly.
Marking as sealed is important to avoid potential complications with derived classes.
Personally I find it fairly natural to have == and != defined for something implementing IEquatable<T> - it provides a natural way to check for equality including nulls.
This is no longer needed because https://github.com/dotnet/command-line-api/issues/1797 was fixed by https://github.com/dotnet/command-line-api/pull/1842.
Thanks, @andrewimcclement. The bug was fixed elsewhere. Sealing Token is a reasonable thing to do. If you'd like to resubmit that change, I'd be happy to merge it.