ENH: add peek function
- [x]  closes #18691
- [x] tests added / passed
- [ ] passes black pandas
- [ ] passes git diff upstream/master -u -- "*.py" | flake8 --diff
- [x] whatsnew entry

added peek, which is essentially a concatenation of head and tail functions. The reason I add, is because often for sorted data, you are interested in looking at both the head and tail simultaneously to see the min/max range.
Hello @Quetzalcohuatl! Thanks for updating this PR. We checked the lines you've touched for [PEP 8](https://www.python.org/dev/peps/pep-0008) issues, and found:





There are currently no PEP 8 issues detected in this Pull Request. Cheers! :beers: 

##### Comment last updated at 2020-09-10 22:26:09 UTC This has been discussed previously in #18691 - not sure we want to add this to the API yeah -1 on adding this. We *already* already pretty much show this when doing a repr. thanks @Quetzalcohuatl plently of formatting issues if you would like to tackle. @jreback We have `head` and `tail` even though you can _already_ already show that by doing `.iloc[n:]`. I think this would be a very useful option to add instead of having to type the very long `with pd.option_context('display.max_rows'=50)`... I can never remember the phrase to use, and this would be a quick and easy way to do it. Even in the linked issue someone made a function `def show` that they use in every notebook. Nobody wants to be copy pasting the repr every time they want to show different amounts of rows. Sometimes you only want head(1) and tail(1), sometimes you want head(25) tail(25) which will fit within the default 50 rows displayed in Jupyter Notebook. Please reconsider. @Quetzalcohuatl see the linked issue - happy to take an example function (see @TomAugspurger example) / doc string update 

this is useful but we cannot have everything 