Large commit - MetadataPacket class, threading, etc.

-Added thread to listen for incoming packet on client and server.
-Bugfixing on UDP sockets.
-Partial implementation of directory listing request, still need to
implement sliding window system.
-Removed fileExists method from Utils.
-Various name changes to functions, constants, local vars, etc.
-Added timeout constants for both acks and "operations" - get, send,
dir.
-Removed unnecessary usings.
-Added DirectoryMetadataPacket and FileMetadataPacket class, both
extending from MetadataPacket class. Functionality related to building
MetadataPackets rather than DataPackets are here.