[modeling_utils] torch_dtype/auto floating dtype fixes
As reported in https://github.com/huggingface/transformers/issues/17583 not all model's have their first param of floating dtype, which lead to failures like:

```
$ python -c 'from transformers import AutoModel; AutoModel.from_pretrained("hf-internal-testing/tiny-bert-for-token-classification", torch_dtype="auto")'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/mnt/nvme0/code/huggingface/transformers-master/src/transformers/models/auto/auto_factory.py", line 446, in from_pretrained
    return model_class.from_pretrained(pretrained_model_name_or_path, *model_args, config=config, **kwargs)
  File "/mnt/nvme0/code/huggingface/transformers-master/src/transformers/modeling_utils.py", line 2004, in from_pretrained
    dtype_orig = cls._set_default_torch_dtype(torch_dtype)
  File "/mnt/nvme0/code/huggingface/transformers-master/src/transformers/modeling_utils.py", line 980, in _set_default_torch_dtype
    raise ValueError(
ValueError: Can't instantiate BertModel model under dtype=torch.int64 since it is not a floating point dtype
```

1. This PR fixes that by searching for the first floating dtype instead.
2. adds test that failed before this PR

Fixes: https://github.com/huggingface/transformers/issues/17583

------------------------------------

**Possible additional TODO that wasn't part of the original report**

@sgugger, we can sort out the saving side of things here as well - I already added an alternative `get_parameter_dtype` => `get_parameter_first_float_dtype` - but I wanted to check in with you if we replace all instances of `get_parameter_dtype`  or only some.

I didn't go ahead with doing that since we have a method called `dtype` which probably should call `get_parameter_dtype`  and add `float_dtype`? Not sure - let's see what you think is the best way to proceed.
_The documentation is not available anymore as the PR was closed or merged._<|||||>Probably good to merge now, right? 