Implemented a single-threaded solution that resolves and downloads to a file.
Proper cleanup and path choosing.
Explicit close file.
Split up into ranges before download (in preparation for
multi-threaded solution).
Show usage if no positional arguments were given.
Implemented multi-connection downloads using a thread pool.
Preparation for multi-threaded save chunks to disk while downloading.
Complete multi-threaded working version.
Better naming.
Implemented --confirm option.
Renamed utility method askProcess -> askProceed.
Implemented --verbose option.
Cleaned up options a bit.
Implemented --chunks and --chunk-size. If neither are specified it
will determine the chunk size from the content length / connections if
connections > 4, otherwise it will default to 1 MB chucnk size.
Reordering of command line arguments in usage print.
Fixed saving to current dir.
Implemented --output option.
Initializer lists..
Updates a progress/status line while downloading.
Better progress line with formatted sizes.