Error handlers

An effort to gracefully handle operational errors:
-Throw HTTP/HTTPS/FTP errors into their own domains
-Change ping tool so that every single link is logged
-Further tame asynchronous processes with sanity checks on callbacks which return whether or not a file has been downloaded
-Modularize aspects of the program (zip, ping, scrape) and give access in the command prompt
-Support for AWS Glacier multipart uploads