[TECHNICAL-SUPPORT] LPS-44122 Search: escape & highlight don't work well together

Hey Eudaldo,

https://issues.liferay.com/browse/LPS-44122

##### Background

Methods StringUtil#highlight & HtmlImpl#escape work well individually
It is possible to search for a term that actually also occurs in an espace sequence, for example: (term) 34 --> (quote) '"' --> & # 34;
To deal with it, we should split the existing logic into a 3-steps method:
1. Highlight the given text using escape-safe tags
2. Escape the result text from 1.
3. Replace the temporary tags with the correct highlight tags

Note: we cannot use "$" sign in the escapeSafeHighlight variables, as "$" is a reserved group symbol in regex, because it would result

"java.lang.IllegalArgumentException: Illegal group reference"

This is the 2nd part. Don't forget to include https://github.com/ealonso/liferay-portal/pull/134 when you are about to test either my or your changes!

##### Changes
1- lipusz@865cd17
2- lipusz@e7cf840
3- lipusz@ef6eab7

We could live without these commits (by simply adding the default strings to StringUtil), but for master it makes more sense to move these highlight methods to a new util for search.

4- lipusz@8b6e760
As we discussed at https://github.com/ealonso/liferay-portal/pull/129#issuecomment-35074715

5- lipusz@4ecd23c
We also have to control "escape" in the taglib similarly to "highlight"

6- lipusz@aaa2b75
Apply new Summary pattern to the taglib

7- lipusz@7b90800
8- lipusz@77aba35

Apply to Search & Web Content Search portlets

9- lipusz@6b4848b
I was thinking about the better choice, it seemed to more reasonable instead of setting "escape" to false at everywhere.

10- lipusz@b2d3d0c
Optional javadoc @jhinkey

##### Please, also forward my explanation to the next reviewer if you accept this pull!

Attached a screencast to demonstrate the fix: https://issues.liferay.com/secure/attachment/92026/LPS-44122-fixed.ogv

Thanks,
Tibor