Add simple attribute access to DataFrame columns
This one might need some discussion, but I think it makes sense.

If a column name in a dataframe is a valid Python name and doesn't conflict with any DataFrame attributes, this lets you type `df.MyColumn` than `df['MyColumn']`. That's much handier for interactive use, especially because IPython will tab complete `df.MyColumn.<tab>`, while it won't by default tab complete `df['MyColumn'].<tab>`.

This doesn't interfere with accessing columns through the dictionary interface.
