Some controller-related cleanups.
Preferences refactor. Fix tons of things that have been annoying me for years.

* Add DlgPreferencePage and make all preference dialogs inherit from it (this
  standardizes the slots slotUpdate, slotApply, slotShow, and slotHide).
* Get rid of all controller-related code in DlgPreferences.
* Get rid of code duplication / inconsistency in setting up preference pages in
  DlgPreferences.
* Minor style fascism.
Only show the "no controllers" message if there are no controllers.
Fix minor issue where the 'Sound Hardware' section is not selected when you open the preferences window.
Make DlgPreferences explicitly require a DlgPreferencePage to add a page widget.
Improve detection of libmp4/libmp4v2

This was needed to compile Mixxx with faad enabled on Fedora 19
Merge pull request #91 from uklotzde/faad_detection

Improve detection of libmp4/libmp4v2
UI: Fix dialog labels
Tagging: Fix open issues and minor bugs
Add field/column for 'Album Artist' and 'Grouping' tags
Add “Add to Playlist” +” Add to Crate" right click options for selected tracks, fixes https://bugs.launchpad.net/mixxx/+bug/1179097
Merge pull request #85 from uklotzde/master_AlbumArtistGroupingTag

Support for 'Album Artist' and 'Grouping' tags
added Uwe Klotz to contributor list. Thank you!
Merge branch 'master' of https://github.com/esbrandt/mixxx into lp1179097
Merge pull request #92 from daschuer/qt5

Builds now with ubuntu, but segfaults.
Merge pull request #93 from esbrandt/lp1179097

Add “Add to Playlist” +” Add to Crate" right click options for selected tracks
Fix compiling with qt5 after commit
f96d31bae5671baf8eddc32446f5694ac16878cc