Finished read thread, added wrappers for receiving and decapsulating packets

The read thread now reads from the UDP and TCP sockets asynchronously, decapsulates the data, and sends it to the network controller using helper functions. Also added a function
to write packets to a pipe in GameplayCommunication and fixed header problems. Added a makefile for easier compilation.
Merge branch 'recv_thread' into Network-Client-Dev

Conflicts:
	Network/GameplayCommunication.h
	src/Network/Functions.cpp
	src/Network/Functions.h
	src/Network/GameplayCommunication.cpp