Tests for comments

Delimited comments (`<# ... #>`) are not implemented yet, so the tests are
marked Explicit or are commented out.

I made the nit-picky test about comment tokenization a `[Combinatorial]` test, later to be extended with delimited comments, so for the time being there are a number of possible values for both arguments commented out. The question would be whether that's okay or whether they should not be commented and instead the whole test marked as `[Explicit]` until we have delimited comments, real literals and type literals:

    [Test, Combinatorial]
    public void CommentTestCommentAdjacentToToken(
        [Values("'a'", "\"a\"", "(ls)", "$a[1]", "$a", "1;", "&{gci}", "1" /* , "1.", "1.0", ".2", "[int]" */)]
        string statement,
        [Values("#foo" /*, "<# foo #>" */)]
        string comment)

Lots of comments and quotes from the spec, mainly to clear my own confusion about how things are supposed to work – it's sometimes a little vague.