Simplify LiveTVChain updates during channel changes.

A channel change during Live TV usually involves 4 updates to the
LiveTVChain - starting and stopping the dummy and actual recordings.

On the frontend, each update caused a reload of the tvchain entries
from the database.  This is improved by sending the new contents of
the LiveTVChain as part of the update message from the backend, to
avoid the DB queries.

In addition, the update mechanism on the frontend of using a timer
event to defer the update is removed.  Originally, this was probably
done to allow the DB query to proceed outside the UI thread, but
currently the timer event handler is in the same thread as the message
handler, so this deferral was almost entirely unnecessary.

There is still the minor issue that each update message from the
backend appears to be handled twice by the frontend, though this
doesn't affect correctness.