Bug? Dubious resulting index from merge outer join with left_index=True
The following occurs when using pandas.merge for an (left) outer join with the left_index=True and right_on="something" options. The index of the resulting DataFrame contains duplicate values and the "something" column contains new (compared to before) values that look suspiciously like what the index should be. 

Is this expected behavior, or could this be a bug?

A minimal illustration is:

``` python

In [2]: pandas.__version__
Out[2]: '0.14.0'

In [3]: df1 = pandas.DataFrame(zeros(8).reshape(4,2), columns=['A', 'B'])

In [4]: df2 = pandas.DataFrame(arange(4).reshape(2,2), columns=['C', 'D'])

In [5]: df1
Out[5]: 
   A  B
0  0  0
1  0  0
2  0  0
3  0  0

In [6]: df2
Out[6]: 
   C  D
0  0  1
1  2  3

In [7]: pandas.merge(df1, df2, left_index=True, right_on='C', how='left')
Out[7]: 
   A  B  C   D
0  0  0  0   1
1  0  0  1 NaN
1  0  0  2   3
1  0  0  3 NaN

```

What I would expect as the result is the following and can be constructed by adding an extra column carrying the left index, doing the join with left_on instead of left_index, and dropping the extra column again:

``` python

In [8]: df1['i'] = pandas.Series(df1.index)

In [9]: pandas.merge(df1, df2, left_on='i', right_on='C', how='left').drop(['i'],axis=1)
Out[9]: 
   A  B   C   D
0  0  0   0   1
1  0  0 NaN NaN
2  0  0   2   3
3  0  0 NaN NaN

```
