UPnP: Add MPEG_PS_PAL and MPEG_PS_NTSC to the list of supported DLNA protocols. Refs #12284
WebFrontend: More animation performance improvements, and other tweaking

Instead of animating through JS (jQuery), use native CSS3 transitions and
animations which are faster because they are handled in native code
and hardware accelerated. It's also the Right Way™ to do visual stuff
in web pages and makes it easier to tweak effects for different screen
sizes and platforms.
UPnP: Try a different mimetype for AVI in the hope that it stops Samsung TVs crashing
UPnP: Remove the contentFeatures header and add a transferMode header.
UPnP: Request header should have been transferMode, not getTransferMode.
HTTP: Remove a stray comma which crept into the 'Server' header
UPnP: Split the DLNA protocol string creation out into it's own method
Add destructor to RecordingProfile. Speculative fix for arm build failure
Fix the theme text when there are no scheduler changes.

Fixes #12286
Revert [ab8667337e17d74d4f6c0649bde83aae5c16c651] and part of [d013e5426fac8c654159cfb12467da55106b5e4b]. Move the filtering by recordid into the services class instead. The archaic scheduler code is a minefield and fragile, safer just to avoid modifying it and in future work on implementing a simpler, cleaner and documented interface. Fixes #12285.
Arm build fix part 2. Add a virtual destructor for RecordingProfileEditor()
Http Server: Allow server extensions to define the keep alive timeout
HTTP: Simplify and tidy the SSL handling. We can pass the key/certs through as part of the configuration object
HTTP Server: Avoid some warnings if the client closes the connection while we are in the middle of reading or writing to the socket.
MythCenter*: add the season to the program details screen.
ProgDetails: only show the season and episode if they are > 0

This fixes a bug where we was showing the season and episode data for films
and other programs where it doesn't make sense.
MythMusic: fix a possible crash after scanning for music

MusicMetadata::getSongAt() can return NULL so guard against that.
Fixes #12200. Thanks to JYA for finding the problem.
MythArchive: don't needlessly copy videos before processing

If a video can be found on the local file system pass that file name to the
mythburn.py rather than always passing a myth:// URL which will always cause
the script to do a file copy before processing the file.

Fixes #12291. Thanks to John Pilkington for testing.
Fix the ability to disable the frontend idle timer
AirPlay: Fix iOS 8 not seeing video device.

This is done by advertising support for mirror service (which we don't).