D4Explainer: In-Distribution GNN Explanations via Discrete Denoising Diffusion