Restructure/edit cmake files

Add CDIO to CMakeConfigLinux to handle linking on CentOS/Fedora(17/18)
Change options in CMakeConfig.cmake to come after platform config
Merge remote branch 'upstream/frodo' into frodo

Conflicts:
	plex/CMakeModules/CMakeConfig.cmake
Handle the possibility that a XBPython registration list is modified in a callback.
- added substrate.h - needed for hooking methods and ivars at runtime
- bump seatbelt unlock patch for patching ios6.1 binary
- on postinst copy our app icon to /Applications/AppleTV.app/com.apple.frontrow.appliance.xbmc\@720p.png - needed for ios6
- fix darwinutils - we can't rely on the class name XBMCAppliance because its now generated at runtime. This means the NSBundle functions on that class won't return our appliance
- add a missing key to our atv2 - info.plist
- forward declare BRWindow in iosscreenmanager
- rewrite the XBMCAppliance and XBMCController for using obj-c runtime class definition and hooking. This is needed for supporting atv2 on ios6 (see the comments in the impl.)
[atv2] - fix compile on 10.8/billy
[atv2] - fix compilation on 10.8 and all others once and for all. Dear buildbot. I really suggest you build this now - or i'm going to convince davilla to install android on your harddisk...
fix ass subs for GLES
[atv2] - make hooking more clean and safe by checking the selector of the class before hooking
[atv2] - fix XBMC is getting 100% transparent when bluetooth keyboard is detected. (keyboard detection triggers an ios popup overlay which influences with our opengl layer when it vanishes). Since we are hooking now anyways - we just hook into that popupmanager and suppress any popups during XBMC runtime.
fix the configure script to retrieve correct xcode path if xcode not installed
in the default location.
[fix] detect wav codec by mimetype
[fix] detect ape codec by mimetype
Fix sometimes select plugin setting from context menu not works problem.
Fix check common subtitle subdir existence without suffix slash bug.