Peer objects to use smart pointers
Deleting peer objects upon a socket disconnect is problematic since other threads may still be accessing the object. Therefore one solution is to use shared smart pointers to manage peer objects.
Currently this bug causes garbage console outputs on gui disconnects from reconstruct.
Edited by Nicolas Pope