Major revamp of buffer editing.

Lines are now read-only views of immutable data or read-only views of mutable
data, and all mutation goes through the Buffer. This simplifies the process of
extracting lines from a buffer and adding them to a new buffer or back to the
same buffer, or doing god knows what with them.

I also factored a read-only BufferV out of Buffer, just for kicks. Maybe it'll
come in useful somewhere, but at a minimum it's nice to see the read-only
methods separated from all the mutating methods.
Provide equality testing for Lines.

Also Line.merge.
Make test buffers available to other tests.
Return loc after insert; fix missing deleted emit.
Wired up kill ring, basic killing/yanking.