Merge pull request #4003 from ace20022/bluray_fixes1

[bluray] Some fixes/improvements of bluray nav mode.
[ios] - on the native onscreen keyboard make the heading a disabled UITextField and align the text in both textfields to verticalcenter - before the vertical alignment was off (textfield was vertical top and the uilabel for the heading was vertical center which was a bit below compared to vertical center of a textfield)
[bluray] Revise debug log messages.
[ios7] - fix autorotation of external touchscreen controller (when using tvout) on ios7 (by implementing the needed bits of the new orientation/rotation API as the old one vanished in ios7 runtime)
[musicdb] songs with extensions that weren't lower-case couldn't be played. fixes #14879
Merge pull request #4093 from ace20022/blu_log

[bluray] Revise debug log messages.
move HLS variant selection to a DVDInputStreamFFmpeg. DVDPlayer may not have direct url
Ensuring libbluray doesn't overwrite distro files on non-Darwin systems
ffmpeg: dxva drop outdated patches
ffmpeg: dxva - backport bump max slices for mpeg2
dxva2: bump maximum number of slieces for mpeg2

Suggested by heleppkes on https://trac.ffmpeg.org/ticket/3133

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
[addonversion] adds empty() member to AddonVersion to save some unneeded string compares
[addondb] Search() and GetAddons() could return add-ons other than that with highest version
[addondb] move GetAddon(int) version to protected as it's not part of the external API
[addondb] use a single cartesian join query rather than multiple queries when retrieving info on an addon
[addondb] use ExecuteQuery() and GetSingleValue() for BreakAddon/IsAddonBroken
[addons] allow passing a database object into CheckDependencies. Saves many Open/Close cycles, vastly speeding up dependency checking and thus repository updates
[database] add Begin/CommitMultipleExecute() to queue up multiple ExecuteQuery() database operations, and commit them within a transaction - much faster for multiple inserts.
[addons] commit the broken status to the database within a Begin/CommitMultipleExecute() block for speed
[addondb] adds CAddonDatabase::GetAddonVersion() to speed up repository parsing