[CORE][-] Tidy up directory
[CORE][#] Moved class defining the XML structure out of XMLBehaviour

[EDIT][#] Draw a basic line between ports when they are connected
Notes for previous commit (labeled EVERYTHING):
[CORE][+]Implemented forming connexions within an XML behaviour
[EDIT][#] Basic UI for forming connexions
[CORE][!] Fixed issues with BehaviourID and NodeID where the operator== would cause stack overflow if checking against null (should you equals using stuff like reference equals).
[CORE][#] Can now assert that an object is not null
[CORE][-] Removed concept of owning node (we just subscribe to it when we make a bound port) and removed protected keyword from Port (since no longer inherited from)

[CORE][#] Only outward ports store connexions
[CORE][#] Ports now hold a reference to the node that they belong to (or null if global). This is used when saving connexions
[CORE][+] Saving and loading of connexions within an XML behaviour
[CORE][#] Create a bound port with corresponding data when adding an internal port within an XML behaviour