Australia apologises to Haneef, admits mistake