ENH: support __radd__ operation on Index
closed #10083

Currently the following would raise a `TypeError`:

```
In [1]: import pandas as pd
In [2]: idx = pd.Index(list('abc'))
In [3]: idx + '1'
Out[3]: Index(['a1', 'b1', 'c1'], dtype='object')
In [4]: '1' + idx
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-3-5e2fbeff7266> in <module>()
----> 1 '1' + idx

TypeError: Can't convert 'Index' object to str implicitly
```

While for `Series` this works fine:

```
In [5]: s = pd.Series(list('abc'))

In [6]: '1' + s
Out[6]:
0    1a
1    1b
2    1c
dtype: object

In [7]: s + '1'
Out[7]:
0    a1
1    b1
2    c1
dtype: object
```

This PR implements the `__radd__` method so that adding from the left would work for `Index`. 

Also, sorry about the noise because of my PEP8 fixes. There's a lot of PEP8 violations around white spaces in this file; you may want to just view this diff with `?w=1`.

Thanks. 
 I'm removing the pep8 cleanup for now
 This looks good to me -- @jreback can we get this in 0.16.1?
 merged via https://github.com/pydata/pandas/commit/58e72b661d746c240f7e397f853bba159cbc8814

thanks!
