Implement BOM detection and stripping for read_csv

We've historically had a lot of problems handling open ourselves.  It ends up being difficult to simultaneously hit python 2.6, 2.7, 3.x on windows, linux, mac

I was very happy when we left all of CSV IO to pandas (which handles this quite robustly.)

Is this change away from this policy strictly necessary?