Merge new inter-process communication functionality from development branch.

Introduces a new class called `IPCHandling` that allows modules to dispatch a method in a background thread, and receive a response from it via a callback method in the main thread.  This functionality utilizes a modified `Connection`, `ConnectionManagement`, `Socket`, and `SocketManagement` class to allow the background thread to communicate via the main thread through a rudimentary connection that does not fire any events.