Merge pull request #2154 from Fice/stringutils_test_fix

Stringutils test fix
fixed: Curl should also retry on CURLE_COULDNT_CONNECT
fixed: Curl reconnect messages should be warnings
changed: Cosmetics
Use std::string not CStdString with strtol
Merge pull request #2149 from jhsrennie/allowhex

Allow key ids in keyboard.xml to be in hex
changed: No need to get FTP filetimes for Exists() calls
fixed: Don't check for local thumbs on Addon's path
[rbp] Avoid blocking the video thread keeping the video fifo full.
OpenMAX IL is an asynchronous media player. The key to getting good performance is to ensure the audio and video fifo have sufficient data to withstand any processing spikes by the ARM.
Ideally the fifos would allow the arm to crash, and video and audio playback to continue smoothly for a couple of seconds.

I've examined the fifo behaviour, and found the video fifo is always almost empty. (The audio fifo is full).
It turns out that the PlayerVideo task (which submits video frames to GPU fifo) blocks until the presentation time has arrived before calling FlipPage (in order to keep subtitles etc. synced).
This is very bad. We generally only one frame of video data in the GPU fifo. This means a spike in ARM workload (e.g. bringing up OSD, or a peak in bitrate) causes the fifo to empty and video to stutter.

The patch here avoids blocking, and lets the FlipPage happen on a later packet.
I've found with this patch, my test clip (1080p with software DTS audio decode) I can play without stuttering at 700MHz. Without this patch it fails to play even at 1000MHz.
Ignore duplicates due to add-ons with multiple extension points when retrieving the list of outdated add-ons
Python interface now use native keyboard from keyboard factory.
handle IOSKeyboard::Cancel() in more thread-safe way.
smartplaylists: replace strcmpi with StringUtils::EqualsNoCase
smartplaylists: refactor XML reading/writing
smartplaylists: use XMLUtils where possible
smartplaylists: use a browseable property for fields instead of extra types
smartplaylists: cosmetics
configure: allow GIT_REV to be read from VERSION file
needed for building outside of a git repo
release-source script needs bash
on some systems /bin/sh is a simplistic posix shell
Merge pull request #2132 from arnova/webdav_fix

fixed: For Webdav set the PROPFIND custom request header else we may ret...
Merge pull request #2035 from arnova/configure_fix

fixed: Gold linker check didn't work properly in case the standard GNU...
ADD: taglib: implement OGG cover art extraction