re-factored delete method to make sure code doesn't get repeated
updateSuccessorNodeChildrenParentRefBeforeShift override
added test for successor node re-colouring with respect to deleted node