Fix some pprint_thing warts

#### TODO
- [ ] dicts with many keys should be summarized
- [ ] summarization should match numpy [a.a.a ... b b b] not [a a a ...]
- [ ] add np.set_printoptions(edgeitems) analogue.
- [ ] options.display.max_seq_items should have a default value != None

**Part 1**
currently:
```python
In [4]: from pandas.core.common import pprint_thing as pp_t
   ...: pp_t([1,None])
Out[4]: u'[1, ]'
```
after PR:
```python
In [13]: from pandas.core.common import pprint_thing as pp_t
    ...: pp_t([1,None])
Out[13]: u'[1, None]'
```

and jeff fixed index NaN printing in #3034, at a higher level.

**Part 2**

currently:
```python
In [1]: pd.Index(['a','b'])
   ...: 
Out[1]: Index([a, b], dtype=object)
```
after PR:
```python
pd.Index(['a','b'])
Out[3]: Index([u'a', u'b'], dtype=object)
```

so:
```python
In [7]: from pandas import Index
In [10]: eval(repr(pd.Index([u'a', u'b'], dtype=object)))
Out[10]: Index([u'a', u'b'], dtype=object)
```
Which is what `repr()` should enable, in principle.