from_records should order dict columns similar to constructor and from_dict like pandas < 0.23
#### Code Sample, a copy-pastable example if possible

```python
import pandas as pd

print("Pandas version :  ", pd.__version__)

def print_dict(fn):
    print(fn.__name__)
    print(fn(dict(C=[3], B=[2], A=[1])))

with pd.option_context('display.max_rows', 10, 'display.max_columns', 5):
    print_dict(pd.DataFrame)
    print_dict(pd.DataFrame.from_dict)
    print_dict(pd.DataFrame.from_records)
```
#### Problem description

pandas 0.22 gave consistent output when creating a DataFrame passing a dictionary using any of `DataFrame` constructor, `DataFrame.from_dict` and `DataFrame.from_records`. pandas 0.23 changed the behaviour of creating from dictionaries to respect key ordering in Python version 3.6+ for both the `DataFrame` constructor and `DataFrame.from_dict` but not using `DataFrame.from_records`. 


#### Output 0.23
Different ordering of columns depending on construction method

```
Pandas version :   0.23.4
DataFrame
   C  B  A
0  3  2  1
from_dict
   C  B  A
0  3  2  1
from_records
   A  B  C
0  1  2  3
```

#### Output 0.22
Consistent ordering of columns (sorted keys)

```
Pandas version :   0.22.0
DataFrame
   A  B  C
0  1  2  3
from_dict
   A  B  C
0  1  2  3
from_records
   A  B  C
0  1  2  3
```

#### Expected Output (my local build including #22687)
Consistent ordering of columns (dict key order respected)

```
Pandas version :   0.24.0.dev0+570.g434910bcb
DataFrame
   C  B  A
0  3  2  1
from_dict
   C  B  A
0  3  2  1
from_records
   C  B  A
0  3  2  1
```
