Implemented Connection. Added ConnectionManager to manage all the connections at the project level and entity level.
Implemented Deep copy for entity, connectionManager, SignalBus etc. Implemented addChild from entity manager.
Revamped the architecture so that all the edits to entities can be done only through entityManager.
Any change in the EntityManager is  propagated to the ConnectionManager as an event via the Project class.
Added test for basic connection establishment workflow.