ENH: add Index.dropna
- [x] closes #6194
- [x] tests added / passed
- [x] passes `git diff upstream/master | flake8 --diff`
- [x] whatsnew entry

after this PR:

```
idx = pd.Index([1, 2, np.nan, 4])
idx.dropna()
# Float64Index([1.0, 2.0, 4.0], dtype='float64')
```

MI has option `how` to drop if any/all levels are NA (the same as `DataFrame`)

```
midx = pd.MultiIndex.from_arrays([[1, 2, np.nan, 4], [1, 2, np.nan, np.nan]])
midx.dropna()
# MultiIndex(levels=[[1, 2, 4], [1, 2]],
#            labels=[[0, 1], [0, 1]])

midx.dropna(how='all')
# MultiIndex(levels=[[1, 2, 4], [1, 2]],
#            labels=[[0, 1, 2], [0, 1, -1]])
```
