London Mayor Boris Johnson has had to abandon planned visits to the West Bank because of security fears following his comments about people who support a trade boycott of Israel.