fix typing error for HfArgumentParser for Optional[bool]
`TrainingArguments` uses the `Optional[bool]` type for [a couple arguments](https://github.com/huggingface/transformers/blob/master/src/transformers/training_args.py#L443).  I ran into the following error when using transformers v4.3.3 with python 3.8:

`"TrainingArguments" TypeError: issubclass() arg 1 must be a class`
No, `Optional[bool]` are dealt with later on at [this line](https://github.com/huggingface/transformers/blob/master/src/transformers/hf_argparser.py#L101) and need to stay wrapped until then.

Without more information on your error it's hard to help find the right fix.<|||||>Hi @sugger, thank you for the quick response and for pointing that out.  Sorry I did not catch it.

I also see that you put a [tentative fix](https://github.com/huggingface/transformers/commit/fa1a8d102f273ee8118546f7b84133ab58032ac5) for this issue, but also just wanted to check to make sure that `Optional[bool]` values are caught by the expected if statement.

Looking more into the issue, I'm actually seeing that `disable_tqdm` has its typing changed from `Optional[bool]` to `Union[bool, None]` during the `dataclasses.fields` parsing.  So it is not getting caught by the line you reference and then the error occurs on the next if statement.

I'm running Python 3.8 on ubuntu 18.04, maybe dataclasses parses optionals differently in other versions.

Printout of `disable_tqdm` fields value:
```
>>> [field for field in dataclasses.fields(TrainingArguments) if "tqdm" in field.name][0]
Field(name='disable_tqdm',type=typing.Union[bool, NoneType],default=None,default_factory=<dataclasses._MISSING_TYPE object at 0x7f2e6e7ff1f0>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'help': 'Whether or not to disable the tqdm progress bars.'}),_field_type=_FIELD)
```

dataclasses parsing of generic optional bool type:
```
>>> @dataclass
... class OptionalBool:
...     value: Optional[bool]
...
>>> dataclasses.fields(OptionalBool)
(Field(name='value',type=typing.Union[bool, NoneType],default=<dataclasses._MISSING_TYPE object at 0x7f2e6e7ff1f0>,default_factory=<dataclasses._MISSING_TYPE object at 0x7f2e6e7ff1f0>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),_field_type=_FIELD),)
```

To address this, would it be fine to change the `is Optional[bool]` check [here](https://github.com/huggingface/transformers/blob/master/src/transformers/hf_argparser.py#L101) to `==`?

```
>>> Optional[bool] is Union[bool, None]
False
>>> Optional[bool] == Union[bool, None]
True
```

Thanks again for looking into this so quickly.<|||||>I think this change is acceptable, thanks! Trying to check what the failure in the test is and if it's spurious.