Add immutable model

Because D3 seems to want to mutate our stuff
Add the ability to add nodes