No one relishes the power to keep everyone guessing more than Donald Trump. But that is not the only reason the US president has held off striking Iran.