Fixes to Special:TrackingCategories

- Message::isDisabled is using the unparsed message text, so this is
always true and not false when a #switch will return '-'.
Using a compare against '-', the same as in
Parser::addTrackingCategory.
- Title::makeTitleSafe can return null, check that
- Add 'trackingcategories-disabled' when array is empty,
this can happen when a '{{' is given, but no categories was found

Change-Id: I88322512db5c4baedc5c571ce9ccbcd0caebb61d