Bug 1097542 - Use explicit collation in nsSearchService. r=Waldo,adw

On Android, String.prototype.localeCompare ends up calling strcoll(), which results in an undesirable sort order for search engines.

This patch alters nsSearchService to use nsICollation.compareString directly, which should yield a consistent order across all platforms.

We use kCollationCaseInsensitiveAscii, which ignores case on ASCII characters but preserves ordering between accented and non-accented characters. We can revisit this decision if necessary.