Denis Shapovalov stuns Rafael Nadal in Montreal