SettingWithCopyWarning while iterating on groupby results
#### Code Sample

```python
import pandas as pd

df = pd.DataFrame({
    'x': range(4),
    'c': list('aabb')
})

# These operations should have the same consequences.

# 1. No warning
gdfs = [gdf for _, gdf in df.groupby('c')]
for gdf in gdfs:
    gdf['x'] = 1

# 2. SettingWithCopyWarning
gdfs = []
for _, gdf in df.groupby('c'):
    gdf['x'] = 1
    gdfs.append(gdf)
```
#### Problem description
Modifying a group dataframe while iterating through the groups triggers a `SettingWithCopyWarning`. 
The dataframe referred to is a result of an internal slicing operation and should not lead to a warning in userspace.

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

<details>

INSTALLED VERSIONS
------------------
commit: None
python: 3.6.1.final.0
python-bits: 64
OS: Linux
OS-release: 4.11.1-gentoo
machine: x86_64
processor: Intel
byteorder: little
LC_ALL: en_US.utf8
LANG: en_US.utf8
LOCALE: en_US.UTF-8

pandas: 0.23.0.dev0+81.g78147e9c8.dirty
pytest: 3.3.1
pip: 9.0.1
setuptools: 38.4.0
Cython: 0.27.3
numpy: 1.14.0
scipy: None
pyarrow: None
xarray: None
IPython: 6.2.1
sphinx: None
patsy: None
dateutil: 2.6.1
pytz: 2017.3
blosc: None
bottleneck: None
tables: None
numexpr: 2.6.4
feather: None
matplotlib: None
openpyxl: None
xlrd: None
xlwt: None
xlsxwriter: None
lxml: None
bs4: None
html5lib: 1.0.1
sqlalchemy: None
pymysql: None
psycopg2: None
jinja2: 2.10
s3fs: None
fastparquet: None
pandas_gbq: None
pandas_datareader: None

</details>

  