Divide access-error into sub-messages, add block check

The communitytwitter-access-error message is problematic. First of all, it includes links encoded in
plain HTML, which is not good since it mixes raw code with messages. It also makes the messages harder
to translate. This is reflected in how only half of the 18 languages that CommunityTwitter has
translations for actually have the communitytwitter-access-error message translated. The mixing of
HTML code with messages also obscures the need to translate the titles of each link. This translation
is absent in about half of the 9 languages where a translation for the message has been submitted.
With a full translation rate of 25%, the communitytwitter-access-error message has to be split up so
HTML does not obfuscate translation.

In patchset #3, the error page has been split into two different pages, one with a nologin error
(communitytwitter-nologin), and a second with an access error (communitytwitter-access-error). Links
have been converted to the appropriate wikitext. In patchset 1, the titles were given their own messages,
but this was dropped in patchset 3 for translation convenience.

In patchset #5, the 'twitter' right restriction is now passed to SpecialPage's constructor and the
userCanExecute() method is now used to determine whether an access/login error has not occurred.

In patchset #6, proper user rights error handling was introduced using the communitytwitter-nologin and
communitytwitter-access-error messages, accompanying additional text in these messages that elaborated
on group rights. User block checking was also added. This removed the need for the communitytwitter-
unknown-error message to bring up the possibility of a user block; blocked users no longer have access
to the special page. Patchset #7 introduces message plural checks on the groups allowed to tweet.

Change-Id: I4fc3f17879b30bd5bc36b64e317ec56c9ab24ec2