Problem assigning values to a multi-indexed DataFrame column when repeated indices are passed to .loc
Consider the following:

```
ix = pd.MultiIndex.from_product([range(3), list('abc')])
df = pd.DataFrame(0, index = ix, columns = ['A','B'])
df.loc[[1, 1, 2], 'A']

Out[1896]:
1  a    0
   b    0
   c    0
2  a    0
   b    0
   c    0
```

Note that I've passed the index 1 twice (pointless I know). Now if I try to use the same indexing to assign a values or values I get an error:

```
df.loc[[1, 1, 2], 'A']  = 4
NotImplementedError: Index._join_level on non-unique index is not implemented
```

This seems unexpected as there is no problem returning a view but the assignation doesn't work. 
I understand it's unusual and bad usage to pass the same index more than once here but in my original use case the indices were generated by some code which didn't ensure to remove duplicates, leading to this esoteric error message. 
Is it intended that Pandas will deal with duplicate index entries in this scenario or should the user be more careful?
