copy() method doesn't work as expected
#### Code Sample, a copy-pastable example if possible

```python

A = pd.DataFrame(data = {'variable':[{'k0':'v0'}, {'k1':'v1'}]})
B = A.copy()
B.loc[0,'variable']['k0'] = 'v2'

A
##         variable
##  0	 {'k0': 'v2'}
##  1	 {'k1': 'v1'}

B
##         variable
##  0	 {'k0': 'v2'}
##  1	 {'k1': 'v1'}

```
#### Problem description

 When modifying specific values of a dictionary type variable copy() method doesn't work as expected. It modifies both, the object's copy and the original object, instead of just modifying the copy.


#### Expected Output

```python

A
##         variable
##  0	 {'k0': 'v0'}
##  1	 {'k1': 'v1'}

B
##         variable
##  0	 {'k0': 'v2'}
##  1	 {'k1': 'v1'}


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

<details>

pandas: 0.24.2

</details>
