Inconsistent assingment when indexing with mixed type
When I run the following code:

``` python
import pandas as pd
import numpy as np

dfe=pd.Series(np.array([ 0, 0, 0]),index=[1,2, '3'])
df=pd.Series([2],index=[1])
print dfe.loc[df.index]
print dfe.loc[df.index] + df.loc[df.index]
dfe.loc[df.index] = dfe.loc[df.index] + df.loc[df.index]
print dfe
```

I get the following output:
1    0
dtype: int32
1    2
dtype: int64
1     0
2   NaN
3     0

This is strange because slicing dfe with the index of df clearly results in row the row indexed by the integer 1 (first output).
However, when you do an assignment row nr 1 (i.e. the row you would obtain with iloc) is used to to the assignment.
