Add function to ToggleWatched

Add a new action, togglewatched to wrap around the XBMC action, works only on library items, consider it an extension of the sync functions.
Add settings to toggle notifications on/off for items marked as watched.
ToggleWatched action uses the simulate_sync setting, so it can be easily tested.
ToggleWatched will only mark as watched on trakt, it will not unwatch items, it checks XBMC data to build a list of what has a playcount of 0, and also checks data from trakt to see if the item is not watched already.
Add new queue system for the dispatch queue, uses an sqlite database, this allows for script functions to send events to the service thread without the need to set properties which could cause race conditions.
Update manual sync and manual rating to use new queue system.
Update manual sync to get XBMC data in script call, instead of service, and pass this data, less to do in service thread now, makes it cleaner.
Add new trakt api call, show/season to get season data for marking a season as watched
Add extend option to getShowSummary