Issues 305: don't overescape strings at extraction time

* We now only escape single quotes at extractions and leave other special characters alone (&\<>")
* We escape special characters at display time
* Utils::cleanSearch() renamed to Utils::cleanString() and no longer sanitize strings for security (use Utils::secureText())
* Searches for special characters such as &brandshortname; or \ now work, same for API
* Google and Bing links no longer include html entities
The current code is actually correct:
* Python's string.replace needs ```\``` to be escaped.
* We need to escape a single backslash because we have strings like ```\```, which would results in ```'\'```, which is an unterminated strings 

The rest looks good to me