Ugly hack for MySQL table creations

1. Add 'longtext' type support.
2. Add DEFAULT CHARSET=utf8mb4 to all table creation queries.
Update Crawler and tests

Seperate the logic to prepare HTML from Crawler::updateContent to
Crawler::prepareContent. Then update all unit test to run this
before parse.

Better simulate the environment for crawling.

UDN unit test encoding problem is hence solved. Updated test result.
Fixed CNA news source
Fixed PTS news source
Update NewsSourcesCfg.php

Updated with phpdoc comments
Added SingTao as a news source

Add the crawler and the unit test.
Add 1 more Sing Tao unit test target
Fix Passion Times line break preparation
Fixed SingTao parsing problem with most sources

Use mb_string to fix the seemingly encoding issue.
Follow upstream changes for conversion

Upstream dumped `iconv()` and use `mb_convert_encoding()`.
Fix HK sources tests with Crawler::prepareContent

Fix HK source unit tests with the Crawler::prepareContent() change
done earlier to TW sources.
Fixed SingTao debug changes
Changed WenWeiPo tests
Add 1 more test case for SingTao