--cache_dir argument in run_lm_finetuning.py not used at all
## 🐛 Bug

<!-- Important information -->

Model I am using (Bert, XLNet....): GPT-2

Language I am using the model on (English, Chinese....): English

The problem arise when using:
* [ ] the official example scripts: run_lm_finetuning.py

The tasks I am working on is:
* [ ] my own task or dataset: Language model finetuning on custom dataset from human resources domain

## To Reproduce

Steps to reproduce the behavior:

1. Clone the repo
2. Navigate to transformers/examples directory
3. Prepare custom train and test datasets (.txt files)
4. Create ./cache directory
3. Run the following command in terminal (with replaced custom_ arguments):
```
python run_lm_finetuning.py \
   --output_dir=<custom_output_dir_path> \
   --model_type=gpt2 \
   --model_name_or_path=gpt2 \
   --do_train \
   --train_data_file=<custom_train_data_file> \
   --do_eval \
   --eval_data_file=<custom_eval_data_file> \
   --per_gpu_eval_batch_size=1   \
   --per_gpu_train_batch_size=1   \
   --save_total_limit=2 \
   --num_train_epochs=1 \
   --cache_dir=./cache
```

<!-- If you have a code sample, error messages, stack traces, please provide it here as well. -->

## Expected behavior

When the model is downloaded from S3, it is stored to default cache directory in `<user_home>/.cache/transformers/` directory, instead to `./cache`, as specified in `--cache_dir` argument. Seems like `--cache_dir` argument isn't used in `.from_pretrained()` methods in lines 472, 473 and 477 in the run_lm_finetuning.py script.

## Environment

* OS: Ubuntu 18.04
* Python version: 3.6.6
* PyTorch version: 1.3
* PyTorch Transformers version (or branch): 2.1.1
* Using GPU ? Yes
* Distributed of parallel setup ? No
* Any other relevant information:

## Additional context

<!-- Add any other context about the problem here. -->
