* Add error_statusmsg to TorrentState
* Adds a new set_error_statusmsg() method to force torrent error state.
* Any torrent in error state will remain in that state on restart with
additional message in status.
* Any new libtorrent errors will override manually set ones.
When magnet metadata is received a torrent file will also be written
to 'copy of' location if requested.
Modified the code for saving torrent file to state in Torrent class for
use by TorrentManager.
Uses attr Torrent.moving_storage for now but can be replaced with
future lt1.0 status field.
Refactored the code to use the common.TORRENT_STATE list.
Added a translating dict to ui.common to aid translation of state text.
When adding a torrent already in session any new trackers are merged
to the exiting torrent but this is an unwanted feature for private
flagged torrents.
Updated Sphinx conf and tested with Sphinx 1.2.1
Moved webui gen_gettext script
Fixed docstring warning in code
Renamed console update-tracker to update_tracker
Compact allocation is deprecated and a new pre-allocation is available.
Any torrents already using compact will continue to do so but any newly
added only can use sparse (default) or allocate options.
The UIs have been updated to only display a checkbox in preferences for
the user to enable 'Pre-allocate disk space'.
By design alert.msg will be empty if the error code is '-1' so use
a.e.message() to get the message as fallback. It was not used at
replacement because when error code is not '-1' then a.e.message()
will also include the error code, which we do not want.
Having a LoopingCall for each torrent is expencive with a lot of torrents.
The LoopingCall in torrent.py has been moved to torrentmanager.py
which runs through all the torrents and calls cleanup_prev_status.
* All state files have a backup created before saving
* The backup will now be used if saving or loading fails
* GTKUI state files stored in new gtkui_state dir and common load/save functions created
* Detects bad shutdown and archives timestamped state files in separate config directory.