Use ftplib to resume downloads

Resuming downloads now works due to changes based on code from
fileDownloader.py, however:

* _chunk_read is now called only when first downloading a file, not when
 resuming downloads
* the progress bar doesn't work yet when resuming downloads
Remove unused code from NILS
Add update_with_increment_value() to ProgressBar

update_with_increment_value() allows updating the progress bar by giving the
size of the downloaded chunk instead of the overall amount of data downloaded.
Update progress bar during resumed download

Use a new callback function _chunk_write_() to write downloaded chunk to a
local file and update the progress bar with update_with_increment_value()
Separate ftp resume code into new function

This change makes _fetch_file easier to understand and also makes the code for
starting the file download and for resuming it more similar.
STY Remove trailing underscores in function names
STY Make attributions consistent with older code