Ack packet class, name changes, smarter threads

-Added ack packet class.
-Switched thread logic to be smarter--should only need threads when
asynchronicity is needed.
-Added handleDirectoryRequest, which will send metadata packet, wait for
ack, receive directory from server.
-Added receiveDirectory, listens for directory payload from server.
-Moved StopWatch timer to be a member of packet classes--every packet
has its own timer.