Cosmo Gordon, 3rd Duke of Gordon