Fix 7180 autodetect

This PR closes #7180

In the terminal: 
If maxcols == 0 then auto detect columns
if maxrows == 0 auto detect rows 

Todo: 
* Update the docs

```
display.max_rows : [default: 60] [currently: 60]: int
        This sets the maximum number of rows pandas should output when printing
        out various output. For example, this value determines whether the repr()
        for a dataframe prints out fully or just a summary repr.
        'None' value means unlimited.
```

```
display.max_columns : [default: 20] [currently: 20]: int
        max_rows and max_columns are used in __repr__() methods to decide if
        to_string() or info() is used to render an object to a string.  In case
        python/IPython is running in a terminal this can be set to 0 and pandas
        will correctly auto-detect the width the terminal and swap to a smaller
        format in case all columns would not fit vertically. The IPython notebook,
        IPython qtconsole, or IDLE do not run in a terminal and hence it is not
        possible to do correct auto-detection.
        'None' value means unlimited.
```
I would the 'real' explanation of what `max_rows` does also here, instead of referring to max_cols (I think it is annoying if you do `pd.describe_option('max_rows)` and you don't get the answer).