update Roberta checkpoint conversion
- update to fix fairseq Roberta checkpoint conversion 

Fairseq had removed `in_proj_weight` and `in_proj_bias` from the self attention module:
https://github.com/pytorch/fairseq/commit/4c6b689eebe66a53717dacf28cba7a11b6ffa64f

- create save directory if not exist
# [Codecov](https://codecov.io/gh/huggingface/transformers/pull/1959?src=pr&el=h1) Report
> Merging [#1959](https://codecov.io/gh/huggingface/transformers/pull/1959?src=pr&el=desc) into [master](https://codecov.io/gh/huggingface/transformers/commit/5e289f69bc564c94132f77c89a34e5f1dd69a592?src=pr&el=desc) will **not change** coverage.
> The diff coverage is `n/a`.

[![Impacted file tree graph](https://codecov.io/gh/huggingface/transformers/pull/1959/graphs/tree.svg?width=650&token=9qOlN6Hb1c&height=150&src=pr)](https://codecov.io/gh/huggingface/transformers/pull/1959?src=pr&el=tree)

```diff
@@           Coverage Diff           @@
##           master    #1959   +/-   ##
=======================================
  Coverage   81.47%   81.47%           
=======================================
  Files         122      122           
  Lines       18342    18342           
=======================================
  Hits        14945    14945           
  Misses       3397     3397
```



------

[Continue to review full report at Codecov](https://codecov.io/gh/huggingface/transformers/pull/1959?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/huggingface/transformers/pull/1959?src=pr&el=footer). Last update [5e289f6...5190320](https://codecov.io/gh/huggingface/transformers/pull/1959?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
<|||||>Thanks a lot @armancohan 

I think we'll want to keep the possibility to import both types of models for backward compatibility. Can you add a switch based on an identification of the model type?<|||||>@armancohan (rebased on top of master so I force-pushed to your fork)<|||||>So, the fairseq weights themselves didn't change, it's the multiheadattention API that did, in fairseq `0.9.0`. So I'll just check that the fairseq version is >= 0.9 in the script.

I've also updated the script to not hardcode the vocab length, which should make it compatible with other roberta-like fairseq models such as CamemBERT + XLM-R out of the box.

cc @myleott @louismartin <|||||>thanks @julien-c 