The US is moving hundreds of troops out of military bases in the Middle East as it warns Iran of incoming action.