Haren fans 7 in 3 innings, Angels beat D-backs 3-0