bannerChoiceData and bannerController.lib modules

Also introduces two new globals:

$wgCentralNoticeChooseBannerOnClient: Enable choosing banners on the
  client. In this patch, leaving it set to false (the default)
  prevents the sending of banner choice data.

$wgCentralNoticeBannerChoiceDataCacheExpiry: Seconds to cache the
  banner choice data in memcached.

This is part of a series of changes to shift banner selection partly
to the client. This change itself does not modify CN functionality
when serving banners.

Change-Id: If942f571df57410b6b6e3ba27b3c160fc37d881c
Merge "bannerChoiceData and bannerController.lib modules"