[pvr] EPG hookdata: Return UniqueBroadcastID

Returns epgUid known by client instead unset data.
[ios64] - fixed offsets into the eventmem for arm64 - fixes bt keyboard cursor keys when compiled for arm64
CHG: [mediacodec] switch to a surface render black list + backup AS
FIX: [linux] fix & optimize input device checking
Improved file buffering in CArchive.

CArchive already did some file buffering, but only on writes. Added the
equivalent code for reads. Also improved the write buffer case so that it
only ever issues sector-aligned writes (the read code does this from the
start). Shuffled various bits of code into the header file to squeeze a bit
more performance out of it.
[videodb] move AnnounceUpdate|Remove to statics
[announces] add 'transaction' attribution to OnUpdate, OnRemove if scanning.
drop unneeded tracking of database updating, using the 'transaction' attribute of OnUpdate/OnRemove instead
[addons] install from zip should install from the zip, not from packages/zip
[epg] fix: SetChannel() methods do not correctly select the given channel
VDPAU: fix cropping for interlaced frames
Fix memory leak of CGUIViewState

Follow other examples, and use auto_ptr to make sure that the ViewState
object is freed when it goes out of scope

Coverity CID 1211800
Remove null test

It doesn't add anything, and the semi-colon meant it wasn't doing the
expected thing anyway.

Fix Coverity CID 1211801
dvdplayer input stream: fix incorrectly set of EOF
paplayer: fix playing some mp4 files
[pvr] Allow restart of a PVR addon while it is still creating

There's an native addon status ADDON_STATUS_NEED_SETTINGS that means that the addon needs some settings to be set before it will become usable. If ADDON_Create() returns the ADDON_STATUS_NEED_SETTINGS status code and then ADDON_SetSetting() return the same status, XBMC will present the addon settings dialog so the user can enter the missing setting values.

After the user closes the settings dialog XBMC saves settings and requests a restart of the addon (see CAddonStatusHandler::Process()):
m_addon->SaveSettings();
CAddonMgr::Get().GetCallbackForType(m_addon->Type())->RequestRestart(m_addon, true);

But because of an issue in CPVRClients::StopClient(AddonPtr client, bool bRestart) the addon is not restarted and continues running. This commit fixes the issue.

See also this thread of the XBMC forum for discussion of this issue: http://forum.xbmc.org/showthread.php?tid=193750
cosmetics: fix some "conversion from 'foo' to 'bar', possible loss of data" warnings
Merge pull request #4298 from jmarshallnz/scan_notify

RFC: Scan notify - add "scanning" parameter to OnUpdate, OnRemove announcements
Merge pull request #4655 from codesnake/allow_restart_of_a_pvr_addon_while_in_create

Allow restart of a PVR addon while it is still creating
Merge pull request #4647 from FernetMenta/vdpau2

VDPAU: fix cropping for interlaced frames