Oil soars near $120 a barrel as the Iran war turns to energy sites