Michael Phelps wins 19th Olympic gold, Katie Ledecky breaks record