search: added language matcher for collation and search.

Language matching for collation and search is subtly different from
the usual matching algorithm.

Changed collate to use it and implemented constructor for search.

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