Add hidden property to category object.
Use category type instead of hidden boolean. Check for variant links when de-duping.
Probably safer to use title->getText.
Add getCategoryLinks() and getCategoryType().
Build categoryLinks manually so we can preserve category ordering across view/edit pages.
Add type and outerTag to allowable category properties.
Truly associates category data to the DOM.

Fixes not correctly de-duping categories with HTML entities. No longer
have to re-parse articles when loading CategorySelect. When saving
categories on article pages, the view is updated with a more accurate
DOM structure since it uses the same mechanisms as the original article
view request. Category types are now added to category data so it can be
used for styling purposes. Among other things, fixes BugId:97734.
We don't need to pass category data to JavaScript on edit pages anymore.
Data properties pulled from HTML attributes are always lowercase.
Remove now unused code.
Hide hidden categories based on user preferences.
(BugId:97932) - Add some top padding to prevent bumping into stuff above.
Fix CategorySelect for widescreen mode.
Merge pull request #437 from Wikia/bugid-97734

Fixes BugId:97734, BugId:97942, BugId:97932, BugId:97541