Feature request : recognizable exception when calling read_csv on empty stream
For me it would be extremely helpful if the read_csv function would raise a recognizable exception when it is called with an empty stream. Currently I'm checking the type and message of the exception raised to guess if this situation has occurred. It would be less fragile it an exception of a specific type would be raised.

Examples of the exception raised in different version of pandas

> >>> import pandas
> >>> from StringIO import StringIO
> >>> pandas.read_csv(StringIO())
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File "<some path to>\pandas\io\parsers.py", line 474, in parser_f
>     return _read(filepath_or_buffer, kwds)
>   File "<some path to>\pandas\io\parsers.py", line 250, in _read
>     parser = TextFileReader(filepath_or_buffer, **kwds)
>   File "<some path to>\pandas\io\parsers.py", line 566, in __init__
>     self._make_engine(self.engine)
>   File "<some path to>\pandas\io\parsers.py", line 705, in _make_engine
>     self._engine = CParserWrapper(self.f, **self.options)
>   File "<some path to>\pandas\io\parsers.py", line 1072, in __init__
>     self._reader = _parser.TextReader(src, **kwds)
>   File "pandas\parser.pyx", line 512, in pandas.parser.TextReader.__cinit__ (pandas\parser.c:4830)
> ValueError: No columns to parse from file
> >>> pandas.version.version
> '0.16.2'
> >>>

and

> >>> import pandas
> >>> from StringIO import StringIO
> >>> pandas.read_csv(StringIO())
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File "<some path to>\pandas\io\parsers.py", line 420, in parser_f
>     return _read(filepath_or_buffer, kwds)
>   File "<some path to>\pandas\io\parsers.py", line 218, in _read
>     parser = TextFileReader(filepath_or_buffer, **kwds)
>   File "<some path to>\pandas\io\parsers.py", line 502, in __init__
>     self._make_engine(self.engine)
>   File "<some path to>\pandas\io\parsers.py", line 610, in _make_engine
>     self._engine = CParserWrapper(self.f, **self.options)
>   File "<some path to>\pandas\io\parsers.py", line 972, in __init__
>     self._reader = _parser.TextReader(src, **kwds)
>   File "parser.pyx", line 483, in pandas.parser.TextReader.__cinit__ (pandas\parser.c:4616)
>   File "parser.pyx", line 605, in pandas.parser.TextReader._get_header (pandas\parser.c:6056)
> pandas.parser.CParserError: Passed header=0 but only 0 lines in file
> >>> pandas.version.version
> '0.13.1'
> >>>

Of course I could try to find out if this situation occurs before calling read_csv but when working with streams this is not trivial. If the situation is easily flagged within pandas then that might be a more sane location to implement this.
