Misc metadata cleanup

Keep cache values wherever possible.  Added --scrape-versions
and --scrape-metadata options to force web page scraping for
audiodescribed/signed versions and series/episode numbers
respectively.  Scraping was previously done by default.
Use /programmes data endpoints as primary source for metadata

Use http://www.bbc.co.uk/programmes/<pid>.xml for metadata.  Requires
XML::Simple module.  If not installed, falls back to previous method
of using playlist URLs and optional web page scraping for metadata.
Force fallback with --playlist-metadata

http://www.bbc.co.uk/programmes/<pid> URLs on command line are now
processed to extract PIDs, even though PIDs may not reference episode
page.

Added <brand> and <series> substitution parameters
Segment channels into groups (national, regional, local)

Added --refresh-exclude-groups{-radio,-tv} to exclude groups of channels
from cache refresh.

No effect with --type=tv unless --refresh-feeds=schedule
Don't allow --info with --pvr

Closes #92
Implemented ION feeds for tv and radio

Accessed via --refresh-feeds=ion (listview feed) or --refresh-feeds=ion2
(atoz feed).  Much slower for radio, but restores category information to
radio cache.  However, many entries will be missing: most repeats from
R3, R4, WS, and almost all programs from Radio Wales/Cymru/Ulster/Foyle.
Not recommended unless those limitations are acceptable.
--refresh-feeds=ion is already default for TV.
Added --refresh-abortonerror option

Aborts cache refresh for programme type if data for any channel fails
to download. Use --refresh-exclude to temporarily skip failing channels.
Implemented brand/series parsing for cache

Try to do a better job of populating name and episode fields in cache
by parsing brand and series explicitly In general, name will be
"<brand>: <series>" if brand and series are different, otherwise just
<brand>.