Cat Stevens cancels first New York show in 40 years in protest over ticket touts