Some code cleanup, while working on Library concurency refactoring.

Thanks to Daniel for preparing this patch!
Merge pull request #89 from troyane/CodeCleanup

Some code cleanup, while working on Library concurency refactoring.
Fix unusable channel pairings (2-3, 4-5, etc.) when configuring sound hardware.
Merge pull request #56 from illuusio/master

Fix broken FFMPEG/LibAV Sound source and Add FFMPEG/LibAV encoders
Added Tuukka Pasanen to contributor list. Thank you!
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
Added -fPIC for position independend code with Qt5
Add “Add to Playlist” +” Add to Crate" right click options for selected tracks, fixes https://bugs.launchpad.net/mixxx/+bug/1179097
user correct qt5 tools when building with Ubuntu
Merge pull request #85 from uklotzde/master_AlbumArtistGroupingTag

Support for 'Album Artist' and 'Grouping' tags
added Uwe Klotz to contributor list. Thank you!