A review of computational strategies for denoising and imputation of single-cell transcriptomic data