Fixed up AnalyseFile.apply to handle adding new columns and headers a
little more sensibly and consistently with other methods.

Improved helpfulness of DataFile.find_col() expeception methods.

Made sure DataFile loading properly strips white space from column headers
and doens't allow DataFile.column_headers to be less that DataFile.shape[1]