GTKUI Torrentview Speed optimizations
Added test if self.model_filter is None

self.model_filter will be None if no list was ever loaded in the
Client, so listview.create_column_state would fail.
Add move complete location to webui add torrent dialog.
Optimizations to daemon and rpc messages.

* Implemented torrent updates with libtorrent post_torrent_updates.
  This required some changes to how core/torrenthandler
  handles get_torrent_status
* Reworked how torrent.py handles torrent info
* Removed some unneeded RPC message requests from client.
* Added tests for some expensive log prints.
Improvements and bug fixes
Removed debug print
Don't deliver empty resume_data parameter to session.add_torrent
Fixes a libtorrent crash on python 2.7 on Windows
Make sure sessionproxy events are registered after stopping and starting a daemon from gtkui.
Fixed bug with handling adding/removing columns in GTKUI.

Also reinserted two lines that were lost when porting patch to master
Added decode_string on all calls to alert.message()
Replace hotspot with cProfile for daemon

Added a twisted signal handler to save profiler stats when
deluged is killed with SIGINT.
Fix issue with downloaded torrent temp files on windows which had illegal characters.
Fixed bug in torrentmanager.separate_keys

If none of the torrent_id's were present in self.torrents,
None would be returned.
Fix #2261 : WebUI: Proxy settings not being saved
WebUI: Add failed login log message with IP address for fail2ban
Fix #2242 : Notifications: Missing word in torrent finished message
Fix #2260 : Add dialog pulling main window to active workspace
Fix #2258 : Potential runtimeError when emiting event
Merge remote-tracking branch 'bro/master-torrentview-speedups'
Merge remote-tracking branch 'bro/master-daemon-optimize-speed'

Conflicts:
	deluge/core/alertmanager.py
	deluge/core/torrentmanager.py