search: allow non-normalized strings

Updated Iter to not return a set of collation elements that cross
segment boundaries. This may slightly slow down collation, but it
is necessary for search. Considering the complexity of Iter, it is
still preferable to have only one iterator implementation.

Change-Id: I2ed6900af6fb0ea2a752b49917cbccabc473818f
Reviewed-on: https://go-review.googlesource.com/10687
Reviewed-by: Nigel Tao <nigeltao@golang.org>
5 files changed