Eliminate mutable String in Util::Freezer
Initial implementation of StringIterator
Implement some string methods with StringIterators
Rework Highlighter to use StringIterators

Don't scan the whole document for sentences but find sentence or word
boundaries directly from the start and end of a fragment using string
iterators. Merge Find_Best_Fragment into Raw_Excerpt.

As a side effect, this should fix for LUCY-199 in an acceptable way. It
would still be nice to have a third class of boundaries which breaks on
punctuation and symbols, so we'd find boundaries like this:

    * Try to break on sentence boundaries.
    * If no sentence boundary can be found, try to break on whitespace.
    * If no whitespace can be found, try to break und punctuation and
      symbols.

We'd need a way to lookup Unicode general categories for this to work,
though.