[pvr] EPG hookdata: Return UniqueBroadcastID

Returns epgUid known by client instead unset data.
FIX: [linux] fix & optimize input device checking
[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
[epg] fix: SetChannel() methods do not correctly select the given channel
VDPAU: fix cropping for interlaced frames
HttpHeader::Parse: accept "\n" line ending as well
HttpHeader::Parse: fix parsing multiline parameter (used only in tests)
HttpHeader::GetHeader: (used only in tests) return empty string if got nothing and use standard "\r\n" line ending
HttpHeader::AddParam: fix overwrite for non-lowercase names
HttpHeader::AddParam: trim name and value like "Parse()"
HttpHeader::AddParam: fix trying to add empty value or name
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
TestHttpHeader: rewrite HttpHeader tests
Merge pull request #4002 from Karlson2k/httpheader_add_01

Httpheader fixes and Httpheader tests update
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