OOPifying CentralNotice Banner Class

A near complete rewrite of the banner class. This is part 1 which
attempted to make minimal changes to the outside consumers of the
class.

Some important things have changed:
- Banner logs will now only log the 'end' settings because I no
  longer keep track of the original settings and making another DB
  call to get the old settings seems silly.
- Instead of saying a banner is fundraising or not, we will assign
  a category to it. The UI and JS are not yet ready for this but
  this patch deprecates the cn_templates.tmp_fundraising column
  in favour of cn_templates.tmp_category.
- A new variable has been introduced to control when the Translate
  Message Group job gets fired. This attempts to solve issues where
  the translate job takes too long and the save() request times out.

Off the top of my head the following still needs to happen:
- Updating the UI to use the new methods
- Allow usage of tmp_category in javascript
- Rather large updates to the Special:BannerLog
- Creation of CampaignBanner and HistoricalBanner subclasses
  which will hold moar properties :)
- MOAR TESTS!

Change-Id: I13e39ca1c56e66f960501836d86e8f3af07da93f
Localisation updates from http://translatewiki.net.

Change-Id: Ide4dbaeb16e2fe6a7a42ca8ecc51bf63e8f69f46
Merge "Ensure requests are not cached with session data"
Merge "OOPifying CentralNotice Banner Class"
Allow Custom Banner Categories

This allows banners to hide/show based on a completely user custom
category definition.

Also; modifications were made to Special:HideBanners to allow for
eventual cross site custom hiding in much the same way that fundraising
currently does it.

Change-Id: I26e53fef0ad083c031809a6981741580fab92eda
Merge "Allow Custom Banner Categories"
Revert "(bug 53443) disable Special:GlobalAllocation"

This reverts commit 7b9fec7cb84b0ef9ca7ab46edbddb6246c24e786.

There was a misconfiguration which caused a warning for every banner title
displayed on the GlobalAllocation page, this may have been responsible for the
OOM reported in bug 53443.

Change-Id: Ie2ab9b03029a866685d2c1d9b3ab53c3910af705
Localisation updates from http://translatewiki.net.

Change-Id: Ibd1ca160da4ca88f21f2cb799a993a3334e8fab5
Localisation updates from http://translatewiki.net.

Change-Id: I5472e63cf268007ea185080cd3db7c4afa2963a3
Localisation updates from http://translatewiki.net.

Change-Id: Idbf570e213f0b99578ec2080698a7ea23fba18f1
Merge Custom banner classes from master (also GlobalAlloc)

* origin/master:
  Localisation updates from http://translatewiki.net.
  Localisation updates from http://translatewiki.net.
  Localisation updates from http://translatewiki.net.
  Revert "(bug 53443) disable Special:GlobalAllocation"
  Allow Custom Banner Categories
  Localisation updates from http://translatewiki.net.
  OOPifying CentralNotice Banner Class

Change-Id: I71108a9e2651ad67d47f7e20984f240db8d62457