James Shields goes to 5-0 as Padres beat Mariners 4-2