BUG: Support to create DataFrame from list subclasses
- [x] closes #21226
- [x] tests added / passed
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

Alternative fix could be that instead of doing `isinstance` check in frame's `_to_arrays` method:

```
if isinstance(data[0], (list, tuple)):
```

We would do:

```
if type(data[0]) in (list, tuple):
```

This would then assure that `to_object_array` is called really just with exactly lists. But currently there is a mismatch, `if` checks with subtypes, while `to_object_array` does not support them. I think it is better to support them so this merge request adds support for subtypes/subclasses of list.