Enhancements for CSV provider

In some countries (e.g. Denmark) the separator in CSV files is not comma
but semicolon. The constructor for the CSV type provider now has an
extra optional argument where one can specify the character used as
separator.

In statistical datasets there is quite often missing values represented
with a #N/A. The orginal CSV type provider would in such cases infer the
type of the data as string. With this commit the #N/A value is now
converted to Double.NaN.