Revise match rules for line-based documentation blocks
Revise match rules for line-based documentation blocks

These changes attempt to address an issue (#12) reported about line-based
(i.e. `///`) documentation blocks interfering with code block folding.

In short, it seems like the problem was the main `comment-lines` rule
spilling onto a non-documentation line of code, which goes on to confuse
the mechanism that marks code folds in the editor gutter. The issue
stopping an elegant solution (i.e. parse line-by-line without `begin` and
`end` rules) is the need to parse fenced code blocks, which itself uses a
separate `begin` and `end` rules.

Not entirely clear on how this solution works the way it does, but the key
seems to be stopping the outermost `end` rule from ever being able to
match a subsequent line, which might be a non-documentation one.

However, there is still a limitation where non-terminated fenced code
blocks will break folding. Very much puzzled about this.

miqid/atom-language-rust