Fix webserver memory leak

If the webserver is passed an If-Modified-Since value, which indicates
the
client has the current file, there is nothing to send, the code leaked a
context object.

To fix this I've converted a couple of items to smart ptrs.

The context is now an auto_ptr, and if it's used with the mhd callback
we can pass ownership by using release, otherwise it'll get destroyed on
exit of the function.

Also in the context, the CFile object is now a shared_ptr<CFile>, note
that the Close call is carried out in the CFile destructor.

This should make sure that appropriate cleanup occurs as things go out
of scope, without needing to have all the right deletes in the right
places.

In the free callback move the delete before the trace line, so that we
can be sure everything has been closed and freed when that trace line
occurs.
FIX: [sets] actually allow to delete sets
[python] add onScanStarted/onScanFinished and deprecate onDatabaseScanStarted/onDatabaseUpdated
dvdplayer: drop old remnant of masterclock
FIX: [amlcodec] make FF/RW work
dvdplayer: let CDVDClock hold info on what is current master clock
dvdplayer: replace old frame sleep with timestamp based one

This avoid depending on frame duration in advance of next frame
dvdplayer: add support for allowing video player being master clock
dvdplayer: move selection of video reference clock to dvdplayer

CDVDPlayer is now the master of clock selection even in the
video reference clock case. This avoids the data transmission
between audio and video players for clock selection.
dvdplayer: add accessor for current clock speed adjustment to dvdclock

This avoid direct access to video reference clock in players
dvdplayer: let Discontinuity function take absolute timestamp and log

This allow caller to re-use timestamp that calculations where made on
to reduce effect from task scheduling and avoid logging corrections done.
dvdplayer: move limit check of clock discontinuity into dvd clock
dvdplayer: move sync after clock switch to UpdateClockMaster
dvdplayer: use master clock as basis for player to sync clock

TODO: move this into the players so they check on reception of packet
if they are the master of the clock.
[gitignore] ignore every tar in /lib/win32 instead of a specific file.
FIX: [AE] if null sink is requested, return null sink
ActiveAE: stop processing passthrough packets for paused streams, fixes audio glitch on pause
[pvr] fall back on the channel icon if no thumbnail is available
for recordings
[guilib] repeat wasn't considered for translation of constants during skin load. fixes #14243. thanks vdrfan
Merge pull request #4804 from jmarshallnz/constantly_repeating

[guilib] repeat wasn't considered for translation of constants