Don't duplicate the elements in dir
# What does this PR do?

There is a tiny bug in the way the `__dir__` method of our lazy modules is implemented. To see it run:

```
import transformers
dir(transformers.models.bert)
```

which will give a list ending with
```
[...,
 'configuration_bert',
 'configuration_bert',
 'load_tf_weights_in_bert',
 'modeling_bert',
 'modeling_flax_bert',
 'modeling_tf_bert',
 'tokenization_bert',
 'tokenization_bert',
 'tokenization_bert_fast'
]
```
You can already see some elements are duplicated, and accessing some other submodules (like the modeling ones) will grow the list of duplicates.

This comes because we always add all the submodules to the `__dir__` even if they are already there (the fact they are there or not depends on whether some element of the submodule was accessed to, because of the lazy init).

This PR fixes that.

Thanks to @NielsRogge for reporting the bug!