Bug 879299: additional search string refactoring
Bug 879299: Defer order string calc when possible

The order string calculation is also expensive and is best deferred until
needed.  Unfortunately, to truly calculate the group we need the order
string.  To avoid always performing these calculation immediately, we
first check to see if the contact fits the common case where it has the
expected name and it starts with a normal letter.  If this is the case,
then we can defer the order string calculation.  This improves overall
contact load time by about 500ms on reference-workload-heavy (which
admitedly hits this expected case for every contact).