PERF: optimize Index.delete for dtype=object

This should close #6933.

Note though, that the benchmark results are not exactly what I've expected:
```python

In [39]: idx = tm.makeStringIndex(100000)

In [40]: timeit idx.delete(-1)
1000 loops, best of 3: 1.46 ms per loop

In [41]: timeit np.delete(idx, -1)
1000 loops, best of 3: 1.05 ms per loop

```

The result is faster, but not as fast as I'd expect. This is probably because of object refcounting overhead, because MultiIndex fares a lot better with its Categorial-like implementation:

```python
In [42]: midx = pd.MultiIndex.from_product([[0], idx])

# <..snip..>

In [45]: timeit midx.delete(-1)
1000 loops, best of 3: 225 µs per loop

```