Steve Smith edges past Virat Kohli to become No1 Test batsman