Walmart names John Rainey chief financial officer