Somewhat aggressive and sweeping analysis changes

This is a sweeping change that affects many languages.  I imagine it'll
be safe because this is a very lsearchd-like thing to do so people are
used to it.

This should help in several ways:
1.  Make it easier to find files by exact name.  The big change here is that
underscore should just be treated like a space everywhere.  This is true in
some contexts already (English stemmed search) but not in other important
contexts (English non-stemmed search and every other language and near_match).
2.  Make finding files by name without hte extension more possible in
languages other than English.
Bug: 40612
Bug: 62733
3.  Make code (specifically js) a bit easier to find by forcing . and ( and )
to cause word breaks.
Bug: 63861
Bug: 71101
Bug: 68527
4.  Improve searching for code in languages other than English by forcing .
and ( and ) to cause word breaks.
Bug: 68782

DEPLOYMENT: This change requires a from-Elasticsearch index rebuild to take
effect.
Change-Id: Icfb9e80e5783a3b7fac100c52b1e10505216842e
Merge "Somewhat aggressive and sweeping analysis changes"