Support passing an already-constructed (but not yet saved) instance to add_sibling as the 'instance' keyword argument
Support passing an already-constructed (but not yet saved) instance to add_root as the 'instance' keyword argument
Support passing an already-constructed (but not yet saved) instance to add_child as the 'instance' keyword argument
use the new 'instance' passing mechanism to make the setup method for TestInheritedModels less contrived
Add documentation for passing an instance to add_root / add_sibling / add_child
add a meaningful exception type NodeAlreadySaved for attempting to insert an already-saved node