changed: Only allow slice based parallel decoding

Frame based parallel decoding causes HW decoding
to crash, and it's more sensitive to changes
in frame sizes during decoding.
webserver: fix crash in CWebServer::GetRequestHeaderValue when MHD_lookup_connection_value returns NULL and doesn't really cast to std::string
jsonrpc: accept HTTP requests with no content-type set but don't allow HTTP requests with content-type != "application/json"
Revert "fixed. Never, ever use same named classes in dyloaded libs, even namespace guards will not protect you from the almighty sym match monster"

This reverts commit 617b2c6aea11413454e0348fb3cba801865fb96c.
[WIN32] changed: guard m_cdinfo map and leave lock when processing possible long operations in cdio.

changed: guard GetDiskUsage() by m_CritSecStorageProvider rather than m_muAutoSource.
Merge pull request #828 from wsoltys/reduce_singlelock

[WIN32] fixed possible freeze when XBMC is started with a disc inserted and libcdio operation takes long. This only fixes the mediamanager side. libcdio has a lock too which causes trouble.
changed: determine first available disc drive once that we don't have to call libcdio in every loop for guiinfomanager. This brings us further if a cd hangs in cdio_get_cdtext but we still freeze for some minutes when entering music as other calls to libcdio take place and are hold by the lock.
refactor visualizations for gles.
 1) never use gloabls from xbmc core, you will die.
 2) never use same class names as xbmc core, you will die.
 3) never include anything from xbmc core except xbmc_vis_dll.h, you will die.
 4) never use -undefined dynamic_lookup (darwin) or -Wl,--unresolved-symbols=ignore-all (linux) when linking,
     these will hide violations with 1) and 3) and you will die.
 5) addons for visualizations needs two enhancements.
   a) add an addons visualizations context that is created by
     addon and retained by xbmc core, deleted by addon on destroy.
     This context is passed on calls into addon. This eliminates
     the need for local gloabls as now the addon has a context for storage.
   b) addons needs a callback for logging so we never include log.h
     which volates 3).
changed: make that call to libcdio earlier. In Init it might be too late for some platforms
[UPnP] use server provided item count to iterate browse req

This could potentially solve issues where server returns
a different number of items than it says it returns
or we fail to parse a returned item properly.
[UPnP] we should be caching directory listing, not metadata request
changed: GetDeviceFileName() will slowly find its place, sorry.
[atv2/ios5.1] - create the appliances dir if needed - its not there after jb
[atv2/ios5.1] - add appIcon
[atv2/ios5.1] - don't add our window to the BRWindow list as a BRControl - iOS 5.1 doesn't like that. Instead rotate our window 90degrees by ourself on iOS5.1
fixed: forgot to guard MEDIA_DETECT by HAS_DVD_DRIVE (thanks Memphiz).
fix dialog autoclose by ensuring the timer starts only once we've rendered once (frametime is then accurate)
Merge pull request #814 from jmarshallnz/fix_addonversion_equals

Fix addonversion equals
Merge pull request #778 from Memphiz/dialogtimeout

[fix] - fix the autoclose timeout calculation - using SystemClockMillis
add doxy for StringUtils::IsNaturalNumber/Integer and a unit test