Reorganize cache and temporary directories under common parents.

Previously, various cache and temporary directories were sprinkled all
over ~/.mythtv, aka MYTHCONFDIR.  This change puts them all under
~/.mythtv/cache or ~/.mythtv/tmp, though, there could still be a few
I've missed.  Some of these directories can get quite large and having
them all in more centralized locations makes it easier to track how
much space they use and to not back them up.
Allow capture of the unprocessed (raw) MPTS from appropriate input devices.

While Myth wont do any processing, if the input device supports pid
filtering, then that will still happen.  To make sure the entire stream is
capture, make sure a recording is enabled for each 'program' available on
the transport.

To enable this feature, set "Record Full TS?" to Yes in a recording profile
(in mythtv-setup) and then select that profile when creating the recording
rule.

This is based on the work by Daniel Kristjansson, just expanded to cover DVB
and HDHomeRun devices.  It can trivially be expanded to any other
appropriate input device.
Relocate another cache directory.
Attempt to fix compilation of [b0aa4e50c] on non-linux machines.
Add the ability to scan for the programs in a MPTS stream from an IPTV
source.

When scanning for channel, there is now a "M3U Import with MPTS" Scan Type
option.  If that is selected instead of "M3U Import", then after reading the
m3u to find the url, the stream will be parsed to find available programs,
which can then be inserted into the channel table.

To develop this, I installed the tools from OpenCaster
(http://www.avalpa.com/the-key-values/15-free-software/33-opencaster), and
used them to broadcast an MPTS file:

$ mkfifo fifo1.ts
$ mkfifo fifo2.ts
$ tsloop sample.mpts > fifo1.ts &
$ tsstamp fifo1.ts 95000000 > fifo2.ts &
$ tsudpsend fifo2.ts 127.0.0.1 5001 95000000

In myth, I created a "Freebox" UDP recorder with an m3u file which looks
like:

~~~~~~~~~~~~~~~~~~~~~~~~~
#EXTM3U
#EXTINF:0,5001 - UDP
#EXTMYTHTV:xmltvid=udp
udp://127.0.0.1:5001
~~~~~~~~~~~~~~~~~~~~~~~~~

I was then able to scan for the progams in the MPTS stream.

To create that sample.mpts file, I enable the "Record Full TS" option for
the "High Quality" profile, and then used that profile to record all the
subchannels available on one of my ATSC stations.  See [b0aa4e50c]
fix some msvc compiler warnings.
Revert 6c6c0cbd4d95957c107e0e7e37b6b4cf70b04de5