Saudi soldier killed in gun battle with militants in Taif