Add header to CSV DDF

Allow a dialect to indicate whether the data includes a header row. This is a simple true/false value, defaulting to false.

The rationale for including this in the dialect is that, like the other fields, it allows for proper interpretation of the data.

Closes #94