The Iran war is causing the biggest energy shock in decades, with still no end in sight.