TF LLaMA Port
This is an autoconversion of the LLaMA code to TF by GPT-4. As always, expect things to be broken until I finish debugging it!

TODO list:
- [ ] Get tests to pass
- [ ] No `MainLayer` -  we shouldn't need it! Make sure weight naming can still be controlled.
- [ ] Explore full `float16` weights
- [ ] Explore passing `DTensor` layouts
The docs for this PR live [here](https://moon-ci-docs.huggingface.co/docs/transformers/pr_24375). All of your documentation changes will be reflected on that endpoint.<|||||>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/main/CONTRIBUTING.md) are likely to be ignored.