Iranian banks illegally shifted billions of dollars through American financial institutions in recent years, and the authorities suspect some of the money may have been used to finance Iranian nuclear and missile programs.Details of the illicit transfers came to light on Friday when the New York State and U.S. authorities announced that a large British bank had agreed to pay $350 million to settle accusations that it had helped the Iranian banks hide the transactions.