bugfix: concurrent modification using arraylist iterator would uncrash program
bugfix: sockets would sometimes hang and not close gracefully
bugfix: turned the button into a new thread so that it can be pressed while the program is running
improved exit code
manager now stays active even after downloading all pieces in order to fulfill uploads