Cuban president Diaz-Canel in Iran for first visit in two decades