Add columns to IPython tab completions of DataFrame attributes
This addresses #230.

I'm not entirely happy about how we check whether IPython is imported, but it's the best option I could see, and I don't think we should unconditionally import IPython and dependent modules just because it's installed.
