Fix memory leakage in python bindings

The python bindings generated by the groovy code generator contain a reference counting bug which results in a memory leak whenever a std::vector is converted to a python list.  The following member functions are affected:

* xbmcvfs.listdir
* xbmc.Player.getAvailableSubtitleStreams
* xbmc.Player.getAvailableAudioStreams
* xbmcgui.Control.getPosition
* xbmcgui.Dialog.browse
* xbmcgui.Dialog.browseMultiple

The reference counting bug occurs because PyList_Append() increments the reference count of the item, so the caller needs to call Py_DECREF() because it no longer owns the object.

This bug is especially problematic when running the Watchdog Service Addon since it may result in frequent calls to xbmcvfs.listdir, and each call can leak many kilobytes of data when listing directories containing many files.
[win32/libnfs] - downgrade to 1.3.0 because of issues with 1.6 on windows
(not able to reproduce - not able to fix)
[omxplayer] Always enable timestamp fifo mode.

hints.ptsinvalid is only set for h264 in avi files. However it also can affect any videos with B frames in any container
(we have reports of mp4 and mkv stuttering because of invalid pts values).

To solve this we always enable the timestamp fifo mode, and the gpu treats this as an optional flag, and falls back to non-fifo timestamp
mode if the variance of that timestamp stream is better.
FIX: [touch] workaround double-click in file manager
Use NULL from cstddef

This fixes build when GIT_REV is not defined.
ffmpeg: dxva2_h264: set the correct ref frame index in the long slice struct

The latest H.264 DXVA specification states that the index in this
structure should refer to a valid entry in the RefFrameList of the picture
parameter structure, and not to the actual surface index.

Fixes H.264 DXVA2 decoding on recent Intel GPUs (tested on Sandy and Ivy)
ffmpeg: dxva2_h264: add a workaround for old intel GPUs

Old Intel GPUs expect the reference frame index to the actual surface,
instead of the index into RefFrameList as specified by the spec.

This workaround should be set when using one of the "ClearVideo" decoder
devices.
[dxva] Add support workaround for Intel H.264 VLD, no FGT, ClearVideo decoder.
[dxva] Prefer standard Microsoft H.264 device instead of Intel H.264 VLD, no FGT (ClearVideo).

This fix h264 decoding with refs > 11 on recent Intel GPUs (SNB/IVB). The latest Intel drivers for IVB/Haswell already has no support old Intel H.264 VLD, no FGT (ClearVideo) device, so this actually needs for SNB and older.
[addons] allow RunAddon() to run plugin and script add-ons that have a service add-on in the metadata first. fixes
[cosmetics] indenting
[win32] fix size of DEVMODE struct. Fixes broken resolution switching
Speedup FileItem::IsSamePath

IsSamePath has been found to be expensive if PR 4301 is applied and
used, where a large number of updates a second may occur.

By switching IsMusicDB and IsVideoDB to use the URIUtils versions. A
simple string compare is used, rather than an expensive URL parser
to check the protocol.
Merge pull request #4379 from jmarshallnz/win32_res_fix

[win32] fix size of DEVMODE struct. Fixes broken resolution switching
Fix compiler warning

Fix compiler warning:
xbmc\interfaces\json-rpc\AudioLibrary.cpp(468): warning C4804: '<=' :
unsafe use of type 'bool' in operation
UpdateAlbum(album) returns a bool, the other overload returns an int.
Merge pull request #4380 from cg110/AudioLibWarningFix

Fix compiler warning
[Confluence] Change the textbox height to 4 lines in ok and yes/no dialog.
[Confluence] Dialog textboxes shouldnt depend on autoscroll skin setting.
Merge pull request #4381 from BigNoid/textbox_height

[Confluence] Textbox fixes for ok | yes/no | progress dialog
[video] skip thumb loading earlier so we don't call CDirectory::GetDirectory() on stuff we're not going to look for thumbs on anyway