Fixed ticket #11679 - .idx .rar Vosubs don't work since <removed subtitle caching>
example: e:\movie\movie1.idx and xxx.sub in e:\movie\movie1.rar
(cherry picked from commit 149ba65460fefcc13de1be53e7b9af7a7fa4d638)
fixed: subtitle files detection for archived video files under cdX/

E.g. in case of
CD1/video.rar containing video.avi
Subs/video.sub
we want to search the ../Subs directory for subtitles. However, since
the directory of video.avi is actually video.rar, the current cdX
directory maching code doesn't add the parent directory to the subtitle
search paths.

Fix that by checking also the name of the directory containing the
archive for cdX.
(cherry picked from commit a0b0a23c531ad389d80d0f6adf7c2f00589bfd33)
fixed support for subtitles in rar and zip file
fixed breaks common cases like:
```
file-cd1.avi
file-cd2.avi
file-subs.rar = { file-cd1.sub, file-cd2.sub }
```
and also support cases like:
```
file-cd1.idx
file-cd1.rar = { xxx-cd1.sub }
file-cd2.idx
file-cd2.rar = { xxx-cd2.sub }
```
(cherry picked from commit 6ae893d9bf2f86eb9bbe40881708bdee5736756e)
fixed: crashes with corrupted rar files

UnrarXLib does not handle invalid files gracefully enough, and some
files can cause it to tell CRarFile that it has written more data into
its buffer than actually fits there, causing CRarFile::Read() to
eventually overread the buffer.

Add checks in CRarFile for the validity of byte counts retrieved from
UnrarXLib to prevent crashes in such situations.
(cherry picked from commit ca9457286994ef0b021744797b8d78fb78260436)
fixed: rars that have unpacked size stored on first volume only

Some multi-volume RAR files have their unpacked size set as 0 in all
volumes except the first one.

Use the previous unpacked size instead of 0 in such cases in order to
support such files properly.
(cherry picked from commit 683457d27736c09415a11d80933553f75139a253)
fixed: CRarFile::Read() returning wrong data after some seek patterns

Certain seek patterns on a file inside a non-compressed rar file can
cause CmdExtract::UnstoreFile() to think that the destination buffer has
been filled (as DestUnpSize counter, originally set to the file size,
reaches zero).

However, counting written bytes using DestUnpSize doesn't make sense for
the UnpackToMemory codepath used for non-compressed rar files, as there
can be seeks which can eventually cause more data to be read than what
the actual file size was. The actual output buffer is internally handled
by ComprDataIO.

The check in UnstoreFile() will result in not all data being written to
the destination buffer, causing CRarFile::Read() to return old stale
data.

Fix that by dropping the unnecessary DestUnpSize handling in
UnpackToMemory codepath of CmdExtract::UnstoreFile().
(cherry picked from commit 840cd4ce4ac8c781e7d35db2ed86d575a42c37e7)
pvr/epg: don't update the selected file when updating data because of a notification from an observable in pvr windows. fixes 'jumpy' window when the epg is being updated and you navigate through the timeline while a pvr stream is playing. removed virtual keywords where it's not needed in pvr windows (should have been two commits, but I'm lazy)

Conflicts:

	xbmc/pvr/windows/GUIWindowPVRChannels.h
	xbmc/pvr/windows/GUIWindowPVRRecordings.h
pvr: added selection of channel groups within channel osd. closes #566
Merge remote-tracking branch 'opdenkamp/Eden-pvr' into Eden-pvr
VuPlus pvr addon: update sources for v0.2.8
I forgot to commit the actual updated sources
XVDR pvr addon: cleanup VS2010 project file
platform: import StdString.h fixes from XBMC
MediaPortal pvr addon: fix missing symbols on Darwin
MediaPortal pvr addon: remove linking to libsmbclient directly. It is already dyloaded by XBMC
XVDR pvr addon: copy a few fixes from Pipelka
ForTheRecord pvr addon: Fixed: dangerous usage of 'url' (strncpy doesn't always 0-terminate it)
Found with 'Cppcheck'
MediaPortal pvr addon: code simplification
MediaPortal pvr addon: Fixed: dangerous usage of 'url' (strncpy doesn't always 0-terminate it)
Found with 'Cppcheck'
MediaPortal pvr addon: timers: fix working days repeat flag conversion
MediaPortal pvr addon: limit sscanf width to prevent potential overflows on wrong data