Add DistilBertForCausalLM
# What does this PR do?

Similar to the `BertLMHeadModel` this PR aims to add a `DistilBertForCausalLM` model in `modeling_distilbert.py`.

Fixes #7397 
Replaces #8387

## Who can review?

@patil-suraj 
Hey @patil-suraj, I've worked on your very helpful comments in #8387 and implemented them in this PR. Apart from a few formatting changes which I still need to work on the main test that is still failing is `python3 -m pytest tests/test_modeling_distilbert.py::DistilBertModelTest::test_for_causal_lm_decoder`. 

I'm still debugging this but it seems that the `cross_attention_outputs` aren't being produced when the model is run as a decoder because the `encoder_hidden_states` are empty. I'll try and find out why that's the case.<|||||>Hey @patil-suraj. Managed to fix the few tests that were failing and now `make tests` passes for all tests. I'm still seeing a few failed tests in the CI but the error messages don't seem to be related to the DistilBert model.<|||||>Hi @KMFODA , yes the errors don't look related to this PR. Could you please rebase your branch and push again ? That should fix the CI issue. Let me know if it doesn't.<|||||>Done! Thanks for the suggestion @patil-suraj. PR now passes all checks. :)<|||||>Thanks for the review @patil-suraj. Made all the changes as per your comments.<|||||>No problem at all @patil-suraj. Once again I really appreciate the comments and help. Hopefully with this latest push your comments should be addressed :).<|||||>This issue has been automatically marked as stale because it has not had recent activity. If you think this still needs to be addressed please comment on this thread.

Please note that issues that do not follow the [contributing guidelines](https://github.com/huggingface/transformers/blob/master/CONTRIBUTING.md) are likely to be ignored.<|||||>Hey @patil-suraj. Is there anything else I should change in the latest commit?<|||||>@KMFODA @patil-suraj Wondering if there's any reason this PR is not merged yet? It's been a few months. What is the usual turnaround time one should expect for PRs?<|||||>Hey @ghlai9665. I'm not sure what the usual turnaround time is but I'm aware the team are quite busy with multiple other projects. I'll make sure to look at anything @patil-suraj comes back with soon as.<|||||>Hey @KMFODA ! Sorry for being super slow here. Let me know if you still have time to work on this, I'll help with the merge conflicts and any other changes. Thanks :) <|||||>Hey @patil-suraj, no problems at all. Yes happy to work on it still. Do you see any conflicts that would not be resolved by a rebase?<|||||>@KMFODA , Thanks a lot!
It would be awesome if you could rebase and resolve the conflicts. The PR is almost finished, will take another look once the conflicts are resolved. Let me know if you need any help with it!<|||||>Hi @patil-suraj , apologies for the delay. Was stuck in loops trying to ensure all tests passed and then rebasing. Should be good for review now.