[pvr] EPG hookdata: Return UniqueBroadcastID

Returns epgUid known by client instead unset data.
[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
Split out IArchivable from Archive.h
Extend videodatabase GetTvShowInfo api

Add an optional FileItem *, this allows the retrieval of all the
properties from a tvshow, as some are only set when a fileitem is
available.

This allows the JSON-RPC GetTVShowDetails to return watchedepisodes, and
fixes this bug:
http://forum.xbmc.org/showthread.php?tid=191142
VDPAU: fix cropping for interlaced frames
VDPAU: fix segfault if vdpau fails to open context
paplayer: fix accidently disabled seek by fc2b1b2c1ad0d235b91a33e430d39bd63de71f58
Merge pull request #4561 from cg110/json_tvshows_watchedepisodes

Extend videodatabase GetTvShowInfo api
Merge pull request #3773 from Rawk/split_carchive_and_iarchivable

Split CArchive and IArchivable to seperate headers
Merge pull request #4649 from FernetMenta/vdpau3

VDPAU: fix segfault if vdpau fails to open context
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
Merge pull request #4650 from FernetMenta/paplayer

paplayer: fix accidently disabled seek by fc2b1b2
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