Network Implementation

Almost fully implemented, just need to put each download on a different
thread, add progress functionallity, and other things