Hoisted scanRowForward/Backward into Buffer.
Added scanForWhile, scanBackWhile.
Allow modes to customize paragraph delimiters.
Moved some BufferImpl bits into BufferV.

Ideally BufferV should only require an implementation of lines() and a few
niggling bits (name, file, etc.) to be a fully operational read-only buffer.
That is now the case, and we can create test BufferVs which is handy.
Expose trimEnd() for when we don't want a Region.
Introducing Commenter, for commenting.

It encapsulates all the comment fiddling a code mode is wont to do. In addition
to doing all the things code mode used to do re: comments, it handles filling
comment paragraphs.
Comment reformatting.

Courtesy of Commenter.refillComments().