The US is deploying the USS Theodore Roosevelt and more than 2,200 Marines and naval personnel to the Middle East amid growing fears of fresh strikes on Iran.