NMT Shared Embeddings Weights
This PR closes https://github.com/NVIDIA/NeMo/issues/3220 by adding support to share encoder and decoder embeddings and pre-softmax projection layers when the same vocabulary is used in the encoder and decoder.

**NOTE:** Only the shape of the embedding matrix is validated during runtime (i.e., vocabulary size, vocabulary dimension). It is the user's responsibility to make sure the same vocabulary is being used in the encoder and decoder tokenizers.

# Usage:

Set the following flag in `yaml` config to `true` (default is `false`):

```
model:
  shared_embeddings: true
```



