fix compatibility with python 3.5.2
When I run the following command on python 3.5.2

```
python3 extract_features.py --input_file input.txt --output_file output.txt --bert_model bert-base-uncased --do_lower_case
```

Get this error:

```
Traceback (most recent call last):
  File "extract_features.py", line 298, in <module>
    main()
  File "extract_features.py", line 231, in main
    tokenizer = BertTokenizer.from_pretrained(args.bert_model, do_lower_case=args.do_lower_case)
  File "/home/huangfei/.local/lib/python3.5/site-packages/pytorch_pretrained_bert/tokenization.py", line 117, in from_pretrained
    resolved_vocab_file = cached_path(vocab_file, cache_dir=cache_dir)
  File "/home/huangfei/.local/lib/python3.5/site-packages/pytorch_pretrained_bert/file_utils.py", line 88, in cached_path
    return get_from_cache(url_or_filename, cache_dir)
  File "/home/huangfei/.local/lib/python3.5/site-packages/pytorch_pretrained_bert/file_utils.py", line 169, in get_from_cache
    os.makedirs(cache_dir, exist_ok=True)
  File "/usr/lib/python3.5/os.py", line 226, in makedirs
    head, tail = path.split(name)
  File "/usr/lib/python3.5/posixpath.py", line 103, in split
    i = p.rfind(sep) + 1
AttributeError: 'PosixPath' object has no attribute 'rfind'
```

I find makedirs didn't support PosixPath in python3.5, so I make a change to fix this.
Thanks, it could be nice to keep Python 3.5 compatibility indeed (see #110) but I think this will break (at least) the other examples (`run_squad` and `run_classifier`) which uses the Pathlib syntax `PATH / 'string'`.<|||||>I'm sorry for my previous stupid workaround, but now I modify some functions in ``file_utils.py``, just convert type for local variables. I think it won't affect the function behaviour.
However, I only test the ``extract_features.py`` on python3.5. So I'm not sure it prefectly solve the problems, but it should be unharmful.<|||||>I think this will break [this line](https://github.com/huggingface/pytorch-pretrained-BERT/blob/master/examples/run_classifier.py#L484) at least.

I we want to merge this PR you should check that the three examples and the tests are running (at least).<|||||>Did you see my second commit (485adde742)? I think I have fixed the problem you mentioned.
Now I have tested all unittests and 3 examples, and they all work right on python 3.5.2.<|||||>Indeed, I missed this commit.
Ok, this solution makes sense, let's go for it!
Thanks!