BUG: unicode(x) causes stack overflow when x is a 0-d index
The issue can be reproduced at current 'master' as follows:

``` python
$ python
Python 2.7.3 (default, Jul  5 2013, 08:39:51) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas
>>> pandas.__version__
'0.12.0-21-g3dab215'
>>> unicode(pandas.Index([0]).max())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "pandas/core/index.py", line 151, in __unicode__
    prepr = com.pprint_thing(self, escape_chars=('\t', '\r', '\n'),quote_strings=True)
  File "pandas/core/common.py", line 2067, in pprint_thing
    result = as_escaped_unicode(thing)
  File "pandas/core/common.py", line 2028, in as_escaped_unicode
    result = unicode(thing)  # we should try this first
  File "pandas/core/index.py", line 151, in __unicode__
    prepr = com.pprint_thing(self, escape_chars=('\t', '\r', '\n'),quote_strings=True)
  File "pandas/core/common.py", line 2067, in pprint_thing
    result = as_escaped_unicode(thing)
  File "pandas/core/common.py", line 2028, in as_escaped_unicode
    result = unicode(thing)  # we should try this first
  File "pandas/core/index.py", line 151, in __unicode__
    prepr = com.pprint_thing(self, escape_chars=('\t', '\r', '\n'),quote_strings=True)
  File "pandas/core/common.py", line 2067, in pprint_thing
    result = as_escaped_unicode(thing)
  File "pandas/core/common.py", line 2028, in as_escaped_unicode
    result = unicode(thing)  # we should try this first
  ...
  <snipped a lot of repeating backtrace entries>
  ...
  File "pandas/core/index.py", line 151, in __unicode__
    prepr = com.pprint_thing(self, escape_chars=('\t', '\r', '\n'),quote_strings=True)
  File "pandas/core/common.py", line 2067, in pprint_thing
    result = as_escaped_unicode(thing)
  File "pandas/core/common.py", line 2028, in as_escaped_unicode
    result = unicode(thing)  # we should try this first
RuntimeError: maximum recursion depth exceeded
```
