Node/Connection deserialization

Deserialization for nodes and connections! I only did some basic testing
but everything seems to be good.

Attributes are pretty FUBAR and we definitely need to refactor how they
work in the future, but as far as I know they're not necessary for our
MVP.

Constraints are also still pending.
You mean an attribute specified in the type but not present in the actual value? That will (should?) be caught in the construction of the type. I'm not sure if this is present for everything but I do recall adding it to Node.