Phelps cements legendary status with 21st swim gold