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.
`pnotexist`? Took me a second to figure out what the `p` stood for. I'll grant you the name is troublingly long, but you don't actually have to type it anywhere else. Would you spell out project here? same goes for the test below.

Otherwise this looks good, I'll sign off once you make that change.