I'll Have Another wins Preakness in close finish