Segment content into simple paragraphs.

This splits text on the sequence "\r\n\r\n" as an approximation
of paragraphs before sending for translation. Segments that would
be empty or made of only whitespace are not sent for translation.
All content around translatable segments is preserved.

WIP: segmentation. Squash further changes into this.

Move segmentation code to a separate class.
Add segmentation option in translator config, and change to regex segmenting.

This sets up for easily doing sentence and proper paragraph segmentation,
but does not yet include those - sentence segmentation is just using the
test bisection segmentation algorithm for the moment.
Change segmentation to use common code with different regexes.
Handle ellipsis properly in sentence segmenter.

Was breaking on ellipsis, but ellipsis does not terminate a sentence.
Added a lookbehind so that sentence breaks only apply to periods that
are not part of an ellipsis.
Cleanup segmentation code.
Merge branch 'segmentation'