BLD: Improve import order in `pandas/__init__.py`
I'm going to look into this at some point and see if it can be made better. You end up with cryptic error messages on importing pandas if there are any kind of top level errors because (for some reason), issues with nearly _any_ `*.py` file cause the exception below. My theory is that it's because the C-extensions import from the pure python parts of pandas, but silently fail instead of giving the better error.

``` bash
======================================================================
ERROR: Failure: ImportError (cannot import name hashtable)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\nose\loader.py", line 413, in loadTestsFromName
    addr.filename, addr.module)
  File "C:\Python27\lib\site-packages\nose\importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "C:\Python27\lib\site-packages\nose\importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "D:\development\GitHub\pandas\pandas\__init__.py", line 6, in <module>
    from . import hashtable, tslib, lib
ImportError: cannot import name hashtable

----------------------------------------------------------------------
Ran 1 test in 0.000s

FAILED (errors=1)
```

I'm not sure whether this is really possible to improve, but I definitely hit this error when it turned out there was actually a circular import on `Series` or a syntax error or something else. Mostly this would require moving C-extension imports out of the top level of files, but if it means better and more debuggable errors, would be an improvement.

It's also possible that I'm wrong on this, but we can see.
