ENH: Expanded display of dataframe, akin to postgres \x
#### Is your feature request related to a problem?

When viewing large dataframes in a terminal, it is often preferable to display the data in "expanded format" or "long format" (as opposed to "wide"), essentially the result of melting every column. This makes the entire dataframe less sensitive to the width of the terminal.

#### Describe the solution you'd like

Postgres handles this nicely with its expanded mode (see [-x or --expanded](https://www.postgresql.org/docs/current/app-psql.html)). To take a random postgres example, the following dataframe

```
 id | time  |       humanize_time             | value 
----+-------+---------------------------------+-------
  1 | 09:30 |  Early Morning - (9.30 am)      |   570
  2 | 11:30 |  Late Morning - (11.30 am)      |   690
  3 | 13:30 |  Early Afternoon - (1.30pm)     |   810
  4 | 15:30 |  Late Afternoon - (3.30 pm)     |   930
(4 rows)
```

becomes printed as

```
-[ RECORD 1 ]-+---------------------------
id            | 1
time          | 09:30
humanize_time | Early Morning - (9.30 am)
value         | 570
-[ RECORD 2 ]-+---------------------------
id            | 2
time          | 11:30
humanize_time | Late Morning - (11.30 am)
value         | 690
-[ RECORD 3 ]-+---------------------------
id            | 3
time          | 13:30
humanize_time | Early Afternoon - (1.30pm)
value         | 810
-[ RECORD 4 ]-+---------------------------
id            | 4
time          | 15:30
humanize_time | Late Afternoon - (3.30 pm)
value         | 930
```


#### API breaking implications

I don't see there being any.

#### Additional context

My naive suggestion would be to place a global option that turns this on, such as

```python
pd.set_option('display.expanded_mode', True)
```

Under the hood, this can be as simple as melting the dataframe, and printing each record out with a separator between them. However I am not familiar with the intricacies of the display logic and leave this here for others' consideration.