EncDecCTCModel can't be pickled due to training_step wrapped with wrapt
Currently, quite a few classes in ASR collection cannot be pickled easily. DDP is suggested for any distributed training. 
**Describe the bug**

EncDecCTCModel can't be pickled due to `training_step` wrappted with [wrapt](https://github.com/GrahamDumpleton/wrapt)

**Steps/Code to reproduce bug**

```
model_names = ["Jasper10x5Dr-En", "QuartzNet15x5NR-En"]
models = [EncDecCTCModel.from_pretrained(model_name=model_name) for model_name in model_names]
```
then try to pickle `models`.

wrapt's FunctionWrapper throws `NotImplementedError: object proxy must define __reduce_ex__()`
see:
https://github.com/GrahamDumpleton/wrapt/blob/develop/src/wrapt/_wrappers.c#L1241
https://github.com/GrahamDumpleton/wrapt/issues/102#issuecomment-456528633

**Expected behavior**

EncDecCTCModel should be pickled and unpickled. 
