Remove old code for upstart-xbmc-bridge.py from maintainer scripts and logrotate.
[WIP] 90% rewritten to an XBMC add-on.  Not tested.

Needs a XBMC patch to add onClean{Started,Finished} callbacks - will commit
later if it compiles successfully.
Can't subclass two classes here.

Split Monitor and Player in their own subclasses.
[WIP] service.py: Implement Player.onPlayBack* methods.

* Use xbmc.getCondVisibility('Library.IsScanning{Music,Video}') to check for
  library scan on startup, instead of hardcoding it to False.
* Fixed a typo: referenced Player when it should've been Monitor.
[WIP] service.py: Detect movies in getPlayingType().

Need to investigate this as xbmc.getInfoLabel() appears to return an empty
string randomly.

* Fix typo: xbmc.abortRequest -> xbmc.abortRequested.
* Fix xbmc.getCondVisibility() returning int.  Doesn't cause any harm, but why not.
  The documentations says it should return a boolean value, but it's actually
  returning an integer.
[WIP] service.py: use Monitor.onNotification() for System.OnQuit.

Don't save the exit code as it's already in logs and/or dmesg.
[WIP] Switch from onPlayBack* callbacks to onNotification as it's more reliable.

Also document all the player "types". Old code already emitted events with the
correct type, but the documentation was wrong.
Search for "Notifications.Item.Type" in
https://github.com/xbmc/xbmc/blob/master/xbmc/interfaces/json-rpc/schema/types.json
for all supported types.