Fix live tv streaming broken by live rewind

The live rewind feature added to iPlayer TV broke playlist parsing for live tv
due to the addition of a 'liverewind' attribute to <item> elements.  Parsing has
been fixed.  For example of new format:

http://www.bbc.co.uk/iplayer/playlist/bbc_two
Added --no-artwork option

When --no-artwork is specified, thumbnail image is not embedded in
output file.  All other metadata values are written.
Support hh:mm:ss format for --start and --stop

User may enter --start and --stop option values in hh:mm:ss format, with
seconds optional.  Values are converted to integral number of seconds as
expected by rtmpdump.
Allow Olymics live streams to work using new mediaselector/5 URLs. Existing live tv channels now also use this new mediaselector.
Web PVR: fixed auto-refresh for Run PVR and Refresh Cache

PVR Run and Refresh Cache pages will not auto-refresh if client socket
is dup()-ed to STDOUT (as in run_cmd_win32) because initial connection
is not closed.  Run command in shell and copy get_iplayer output to
client socket instead.
Web PVR: updated streaming and transcoding parameters

1. Fixed some typos
2. Removed hard-coded dependency on libfaac.  Windows ffmpeg is not
built with libfaac, so FLV transcoding fails.  Recent versions of
have internal AAC codec.
3. Set M4A transcoding to FLV by default (as with MP4).  This only seems
necessary for Windows server but should work as default.
Web PVR: use dynamic discovery of configured ffmpeg

The location of ffmpeg may be changed during update by the Windows
installer and thus should not be hard-coded in get_iplayer.cgi.cmd.
This change enables web pvr to query get_iplayer for configured
ffmpeg if it is not specified on get_iplayer.cgi command line.  This
is probably only relevant on Windows, where ffmpeg will not generally
be in PATH.
Revert "Allow Olymics live streams to work using new mediaselector/5 URLs. Existing live tv channels now also use this new mediaselector."

This reverts commit c3aafce094e692d20d33c3670e00c8d21a4f6124.

Reverted commit broke live radio streaming.  It also references
non-simulcast live tv, but the associated logic would never work
due to coding error.  The only working change in reverted commit
was media selector URLS for Olympics streams.  Since those are
not required for live tv simulcast streams, entire commit was
reverted.
Fixed --tag-cnid implementation

The implementation of --tag-cnid relied on an iTunes hack that no longer
works.  The implementation has been changed to generate 32-bit hashes
from PIDs to use as the catalogue ID (cnID atom) values.  This should
prevent HD-SD combinations from being mismatched, but there is no
guarantee that the generate values won't conflict with values for media
purchased from the iTunes Store.  Use with caution.
Web PVR: Fixed M4A streaming
Fixed --pvrscheduler

get_iplayer --pvrscheduler never updated the programme caches after the
first per run.  In-memory cache is now emptied before each pvr run to
force cache file refresh.
Added support for secure email

Added support for SMTP SSL/TLS connections. Fixed submission from
Bill Denton <dentonwe@gmail.com>

Net::SMTP::TLS::ButMaintained (if installed) is preferred to
Net::SMTP::TLS for TLS connections.  This is due to a fatal
incompatibility between Net::SMTP::TLS 0.12 and IO::Socket::SSL
1.70+.
Added support for multiple default versions of one programme

In rare cases, some programmes (e.g., Sky at Night) may have
more than one default version available corresponding to
different editions broadcast during the same week.  get_iplayer
previously assumed any non-default version was either signed
or audiodescribed and thus retrieved different metadata.
This change removes that assumption.