Royals pound three homers among 21 hits in 17-7 win over Cleveland