remove redundant Kai Toast
Merge pull request #249 from Red-F/no-redundant-toasts

remove redundant Kai Toast
Add pvr.wmc addon code to github and prepare for official XBMC repo
Add pvr.wmc addon to Makefile, configure, and VS solution
add build artefacts to gitignore file
Add quotes to Platform project pre build event
Merge pull request #247 from krustyreturns/pvr.wmc_squash

Resubmit pvr.wmc addon to official pvr addons repo (squashed)
Merge remote-tracking branch 'upstream/master'
[mythtv-cmyth] Handle extended TS streams: M2TS, ATSC 8-VSB, ISDB-T, DVB-T/C/S

- M2TS packet size is 192 bytes: 4B for timer + MTS packet
- ATSC 8-VSB packet size is 208: MTS packet + 20B for FEC
- ISDB-T packet size is 204: MTS packet + 16B for FEC
- DVB-T/C/S packet size is 204: MTS packet + 16B for FEC

At first sync it checks TS stream and selects packet size after
reaching the best score. Reached score varies from 2
(TS_CHECK_MIN_SCORE) to 10 packets (...MAX_SCORE), depending on
collisions (normal use 624 packets for QOS). Encapsulated TS packet is
not affected ans keep original size of 188 bytes. Once packet size is
discovered, function GoNext() will move to sync byte of next TS packet
and will discard unused data using selected size. Also it allows to
check stream at startup and break it if invalid returning
AVCONTEXT_TS_NOSYNC.
[mythtv-cmyth] Cosmetics in elementaryStream.cpp
[mythtv-cmyth] Add missing rule filter "This Channel"
[mythtv-cmyth] Implement recording rules for MythTV 0.27

"Repeating" rules have to handle new behaviors based on filtering.

With EPG:
- Daily: "All record" + filter "This channel" & "This time"
- Weekly: "All record" + filter "This channel" & "This day and time"

Without EPG (custom):
-  Daily: "Daily" + filter "This channel"
- Weekly: "Weekly" + filter "This channel"

Refactor disabled rules "Channel record" & "One record" for future
usage as menu-hook by using a common interface with epgInfo as input.

Some rules cannot be implemented depending on the context.
For these cases the nil type is used (Not recording) and an attempt to
schedule such a recording will fail.

New virtual function GetMetadata() estimates rule metadata depending
of the backend version.
[mythtv-cmyth] Use MythScheduleManager::GetMetadata()
[cmyth] Add missing recording rule fields

Not null values for programid and seriesid are required for filtering.
Null values (not nil strings) fail DB SQL search.
[mythtv-cmyth] Rules: Fix program filtering by programid and seriesid

Set programid and seriesid in recording rule to allow filtering by
series.
[mythtv-cmyth] Toggle show/hide not recording

Function MythScheduleManager::ToggleShowNotRecording() allows to enable
or disable visibility of 'not recording' rules.

This allows to implement a new hook to enable or disable visibility
and manage 'not recording' rules.
[mythtv-cmyth] Manage special recording rules

Manage "Not recording" rules with PVR timer screen:
- Add setting menu hook "Show/Hide "Not recording" rules"

New functions to make and break a broadcast UID for program.

Create special recording rules:
- Add EPG menu hook "Record all showings (this channel)"
- Add EPG menu hook "Record this showing every week"
- Add EPG menu hook "Record this showing every day"
- Add EPG menu hook "Record one showing (all channels)"
- Add EPG menu hook "Record new episodes (this channel)"
[mythtv-cmyth] Remove EPG gap correction

Not required since XBMC PR#3111 is merged.
Also it will allows to show gaps on EPG timeline grid with PR#3888.