Rafael Nadal defied a painful blister and the dogged challenge of Grigor Dimitrov to reach the semi-final of the Australian Open.