Generative Adversarial Networks for ECG generation, translation, imputation and denoising