Waveglow model export
State: closed | Pull request: yes

Also: multiple fixes to export_utils and refactoring of Exportables.

This pull request **introduces 15 alerts** when merging 1658d1b9b4a440668bc98e089b65a87967e1e3e4 into f4fbe89e39047c49643a681452a08e2c15dfca15 - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-b0cb2086f9e730ea7990abf53de2d83dc18e88a4)

**new alerts:**

* 13 for Unused import
* 1 for Use of the return value of a procedure
* 1 for Unused local variable

This pull request **introduces 13 alerts** when merging a2cc7fb039fc8243bd3df33de7bffe442a6d7cbd into 680a03f873fbc5231a2637229e1c8267f4967eb7 - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-699747768eed978eadc00380c5fd1bc331a67959)

**new alerts:**

* 11 for Unused import
* 1 for Use of the return value of a procedure
* 1 for Unused local variable

This pull request **introduces 13 alerts** when merging 071a0a83a8d6b89b836f4ff38f938aec9f936d9c into 680a03f873fbc5231a2637229e1c8267f4967eb7 - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-6c70f18e27f1d0c322e4708e352addfff21aac03)

**new alerts:**

* 11 for Unused import
* 1 for Use of the return value of a procedure
* 1 for Unused local variable

This pull request **introduces 13 alerts** when merging f58adc2b83f5b1edb4544a5770df4a3adb84c247 into d2637d517f92bc8906d47250ca00a15b4c89a8d8 - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-094cd9516961058187d84f72640342f8e2a06e9c)

**new alerts:**

* 11 for Unused import
* 1 for Use of the return value of a procedure
* 1 for Unused local variable

This pull request **introduces 13 alerts** when merging 6e1d87ca4dd09dbe906c87be168926b88ef4d3d0 into 0e6159141b45336607dc137389bc0d6839a6606c - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-217c02744afc01c8c5c6f15a4b83c33037185ae2)

**new alerts:**

* 11 for Unused import
* 1 for Use of the return value of a procedure
* 1 for Unused local variable

> Overall looks good, but makes a wrong assumption for ASR models that they are all enc-dec type architectures - RNNT is not such a model. Minor refactoring to fix this.
> 
Thanks! See my notes below.

> Another thing is tolerance is quite high in some of the checks (>= 1) - is that expected / necessary or just an artifact during the refactor?
I have found this high tolerance necessary for FP16 tests.

This pull request **introduces 8 alerts** when merging 583184145b3c4b9fc852c4cd0a344a167df769e0 into a12a10f4177c7f1b35cc57a8352f5391a211c388 - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-8e9a90498eb79407ea7b563fcf1d64cc09fb73c3)

**new alerts:**

* 8 for Unused import

This pull request **introduces 8 alerts** when merging f714d8cb538f880a8ab8075f05d3c2fa9ee7827d into a12a10f4177c7f1b35cc57a8352f5391a211c388 - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-8a1ec0ee96b7b5a2935570bc0470ad8cf0beb8b2)

**new alerts:**

* 8 for Unused import

This pull request **introduces 8 alerts** when merging 3e7c75bde42ea84937a8270198a7a796d0db211e into f47463bf92de5f5ace2d8f9a7518a0633d93f3d8 - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-3cc285ccd1ee485fd19d62882d8a6d5020353a38)

**new alerts:**

* 8 for Unused import