Delete a node from Binary Search Tree( Reason for every operation explained)