Api project connect delete node

This is mostly straightforward.  I added probably more tests than are really necessary for detaching nodes from projects, but there are actually still cases that we don't check.  We should think about how careful we have to be.