Added SSL for MySQL connections.
GUIRadioButton: add separate textures for radio image for focus/unfocus states
Use album artist fanart when there is no artist fanart

This is useful especially for albums that are by one main artist but
have some songs featuring other artists, so there may be fanart for "A"
but not "A feat. B".
[language] add string locations
added: setting to disable keyboard grabbing when in fullscreen on platforms that use SDL on X11, calls SDL_WM_GrabInput(SDL_GRAB_OFF) with the SDL_FULLSCREEN temporarily zero'd, this will make SDL call XUnGrabPointer and XUnGrabKeyboard, allowing window manager keys like printscreen, volume and alt-tab to work
[LangInfo] Use preferred audio/subtitle language also for dvds and blurays.
[LangInfo] Use gui's language for dvd/bluray menus.
smartplaylists: use simple WHERE conditions instead of expensive IN statements
smartplaylists: cosmetics in SQL queries
smartplaylists: use SELECT DISTINCT in SQL sub-queries
smartplaylists: replace SQL IN with SQL EXISTS in WHERE conditions
Speedup for opening music song library

Previously, this repeatedly parsed the same URL string over and over again
for every song, each time the list of songs was opened.

Benchmarks for CMusicDatabase::GetSongsByWhere() on a Raspberry Pi with a
library of 4115 songs:

Before patch: 14.5 seconds
After patch:   4.0 seconds
get rid of SCRIPTXXX labels
Fix infinite loop while viewing "EPG: Timeline" window

With invalid begin/end times, the for loop in GUIEPGContainer.cpp L#825 (https://github.com/xbmc/xbmc/blob/5f33d290e/xbmc/epg/GUIEPGGridContainer.cpp#L825) loops endlessly, freezing XBMC when the user views the "EPG: Timeline" window. Solve this by adding check for invalid end times.
[rbp/omxplayer] No need for two debug messages per component init
[LangInfo/AddonManager] Use gui's language for translation in CAddonMgr::GetTranslatedString.
[rbp/omxplayer] Ignore expected errors when tearing down audio

The previous commit to avoid the error log message for port unpopulated
doesn't actually swallow the error event, so the next command issues will fail.

(currently we don't care as we are cleaning up, but it makes editing this code fragile)

I've also changed the teardown sequence to match the video component which seems safer.
[rbp/omxplayer] Copy audio splitter port parameters directly

Should have the same effect, but direct way seems more robust to other changes
[rbp/omxplayer] Remove tunnel flushes

A tunnel flush flushes the ouput port of the source component and the input port of the dest component.
However the code already flushes all the ports of components, so many ports are flushed twice.

Remove the tunnel flush API and just flush component ports
[rbp/omxplayer] Make disabling ports optional

We typically don't want to disable ports after establishing a tunnel, so make this optional and default to false.