Added socket base so we can have different types of socket
Added area based sockets (needs work, but theory is there)
Added MathExtensions.cs
Construction ghost updates on frame, instead of tick (smoother)
Moved construction placement code so it can be called by ghost