Prefix or rename classes to avoid conflicts

https://bugs.launchpad.net/openstack-ci/+bug/1254911

Prefixed classes with tux- and used the BEM model for class naming
for clarity. Since this made obvious some shortcomings, I also:
* reordered the style file to match structure by moving related
  rules together;
* removed one unused rule block;
* combined two blocks for tux-grouplist into one;
* used addClass multiple times if element has both grid classes
  and other classes;
* changed the function to attach event listeners,
* avoided repeating a $menu.find,
* removed a non-existing .ext-translate-msggroup-selector-menu .footer.

Since I reduced specifity in some places, I had to increase it
again to override grid styles. These are now marked explicitly
and they use the .grid prefix in rules for consistency.

This patch mainly targets the message group selector and dropdownmenu
modules. For example tux-breadcrumb still uses short unprefixed classes
which were not renamed in this patch.

Verified that this does not change appearance by visually comparing
the group selector on Special:Translate before and after this patch.

Change-Id: I0163e7fc7aead3e9309aba7b17f19e9d7217d604
Merge "Prefix or rename classes to avoid conflicts"