Node and Connection extend Data

Reconfigured the way that Node and Connection handle data. They now both
extend the Data class, so any attributes are held by the objects
themselves, rather than the Node/Connection having a Data object.