Fix #2409 : Console Non-interactive curses ImportError
Fix crash if translations are missing
Fix empty message for certain tracker status errors

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.
Fixed glade missing signal warning in path_combo_chooser
add comment to tracker_error_alert handler
Include small upstream bencode fix and flake8 file
Fix common.free_space to handle path is None
GTKUI: Ensure None value from problem config is empty string for set_text
Change get_default_download_dir to use expanduser as fallback
[#2082] Validate ip address for listen_interface entry

This ensures that only ip addresses are accepted for
listen_interface as libtorrent cannot accept interface
names (eth0) and will cause unexpected results for user.
[#2417] Add time_since_download and time_since_upload to torrent status
Add torrent bandwidth priority to core
Remove unneeded old 'public' option code
Mark set_torrent_* methods deprecated
refactor torrent.set_options
Move owner to torrent options
Add name to torrent options
Very large refactor and cleanup of torrent.py

Use new docstring format and added to all funcs
Pylint and flake8 fixes; only a few warnings remain for pylint
Fix comment quotes changed by previous commit
[#1923] Add pre-allocation and remove compact allocation

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'.