added shuffle method to DataFrame
- [ ] closes #xxxx
- [x] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry

I have added a shuffle method to pd.DataFrame, as writing df.sample(frac=1) is not intuitive. The method just calls df.sample with 1 line of code.
To test it, I have added a test, here is the code:
```# flake8: noqa

"""
Public testing utility functions.
"""
import pandas as pd
from pandas.util.testing import (
    assert_frame_equal, assert_index_equal, assert_series_equal)


df = pd.DataFrame([[1, 2], [3, 4], [5, 6]], columns=['a', 'b'])
shuffled = df.shuffle(random_state=1)
expected = pd.DataFrame([[1, 2], [5, 6], [3, 4]], columns=['a', 'b'])
expected.set_index(pd.Series([0, 2, 1]), inplace=True)
assert_frame_equal(shuffled, expected)
```
This PR doesn't resolve any issue, I just thought a shuffle method would make a nice addition to pandas.
Also, I did not understand what you mean by 'whatsnew entry', could you please clarify?
Thanks for the PR! So our general direction has actually been to reduce our API instead of expanding, so I'm not sure we want to add this but let's see what others think I could go either way, but right now I prefer better documentation in random_sample.

I'm particularly concerned since both `random.shuffle` and `numpy.random.shuffle` are inplace operations, while this can't be (since the index is immutable and shuffled too) As to reducing the API size, I don't think this should be a problem. The actual code itself is a one liner, and this method could be really useful for ml, especially for beginners. @mrinalTheCoder : First off, thanks for your contribution, and welcome to `pandas`! 🚀 

Just so you know, for the future, it would be preferable to open an issue first instead of a PR from the get-go so that we can discuss the relative merits of your proposed enhancement.

In this particular case, I do think that @TomAugspurger brings up a really good point regarding the confusion this could cause.  I would also lean towards improving the docs vs. adding another method. I agree with the above comments and am -1. This is virtually the same as ``.sample``.

options:
- revert the change and add documentation (an example) in .sample
- close Ok, got it. Thanks for all you input!