ENH: Add support for dataclasses in the DataFrame constructor
Added support for data-classes when used in the construction of a new dataframe.

- [X] closes #21910
- [X] tests added / passed
- [X] passes `black pandas`
- [X] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`

Simply put, added support to use dataclasses in the following way:

```python
from dataclasses import dataclass

@dataclass 
class Person:
    name: str
    age: int

df = DataFrame([Person("me", 25), Person("you", 35)])
```