refactor partial-graft, throw errors if href or refresh attribute do not exist on the node, add unit tests