repr of dataframe bound methods includes the frame data
#### Code Sample
```python
>>>import pandas as pd
>>>df=pd.DataFrame([pd.Series(range(100))]*100)
>>> df.tail
<bound method NDFrame.tail of     0   1   2   3   4   5   6   7   8   9  ...  90  91  92  93  94  95  96  \
0    0   1   2   3   4   5   6   7   8   9 ...  90  91  92  93  94  95  96   
1    0   1   2   3   4   5   6   7   8   9 ...  90  91  92  93  94  95  96  
...
```
#### Problem description

The representation of a bound method is 127 lines long and repeats the frame data:
```python
>>> len(repr(df.tail).split('\n'))
127
```
I have no idea why for instance repr(df.tail) or for that matter the repr of any other method, includes a copy of the data. It sounds pointless to me.   Maybe I am missing something?

If you run the following script:

```python
import pandas as pd
df=pd.DataFrame([pd.Series(range(100))]*100)
count = 0
for i in dir(df):
    s = repr(getattr(df, i))
    count += len(s.split('\n'))
print(count)
```
you will see that the repr of all df members is 53317 lines for a moderate size frame!  This causes problems for IDE's that use introspection on live python objects.

#### Output of ``pd.show_versions()``


INSTALLED VERSIONS
commit: None
python: 3.6.4.final.0
python-bits: 32
OS: Windows
OS-release: 10
machine: x86
processor: x86 Family 6 Model 60 Stepping 3, GenuineIntel
byteorder: little
LC_ALL: None
LANG: None
LOCALE: None.None

pandas: 0.22.0
pytest: None
pip: None
setuptools: 38.4.0
Cython: None
numpy: 1.14.2
scipy: None
pyarrow: None
xarray: None
IPython: None
sphinx: None
patsy: None
dateutil: 2.7.0
pytz: 2018.3
blosc: None
bottleneck: None
tables: None
numexpr: None
feather: None
matplotlib: None
openpyxl: None
xlrd: None
xlwt: None
xlsxwriter: None
lxml: None
bs4: None
html5lib: None
sqlalchemy: None
pymysql: None
psycopg2: None
jinja2: 2.10
s3fs: None
fastparquet: None
pandas_gbq: None
pandas_datareader: None

