Index.intersection bug?
I ran into an odd behaviour when taking the intersection of two Indexes. Specifically,

``` python
left = pd.Index(['A','B','A','C'])
right = pd.Index(['B','D'])
left.intersection(right)
```

returns

``` python
Index(['B', 'C'], dtype='object')
```

However, I would expect this to return

``` python
Index(['B'], dtype='object')
```

If `Index(['B', 'C'], dtype='object')` is the intended behaviour, can someone explain the rationale behind it?
