WIP ENH: Resume dataset downloads with NILS code

Copy code from NILS to enable resuming downloads of sample datasets. Use the
NILS code to perform the downloading instead of the previous code.

This is just the first step in implementing resuming dataset downloads. Next
the borrowed code must be integrated with the previously used code. For
example, the progress bar isn't working now.
Code copied from NILS now uses ProgressBar
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
FIX Display archive name when downloading
STY Several small changes

* Remove blank lines
* Explicit use of python types (number->int, boolean->bool) in documentation
* Remove unnecessary return statements
STY Remove blank line
Remove unnecessary parameter and checks

total_size will no longer be passed to _chunk_read because it will no longer be
used when resuming downloads so the removed code is unnecessary now.
FIX Small corrections

* Remove unused code
* Redefinition of stdout fixed
Remove more unused code
FIX deprecated doc
Resume HTTP downloads
Small code cleanups

* Use _chunk_write inside _chunk_read as well as in _chunk_read_ftp_resume
* Remove unused parameters for _chunk_write, _chunk_read, _fetch_file
Remove unnecessary overwrite code duplication

Removing old datasets and overwriting is already done better in data_path(),
which calls _fetch_file().
Make _fetch_file behave more like old code

The parameters of _fetch_file (which was adapted from NILS) are now identical
to the ones from the function _download_status being replaced (apart from an
added resume parameter which is there only because of the new download resume
functionality).

Other small things:
* Documentation of _fetch_file is now also more accurate.
* Remove unnecassary returns from _fetch_file
* Remove unnecessary directory creation code from _fetch_file