Dow tops 54,000 as earnings and oil slide fuel record rally