San Miguel de Allende in Mexico named best small city in the world (again)