title: Column headers in CSV using fileHelpers library?
body: <p>Is there a built-in field attribute in the FileHelper library which will add a header row in the final generated CSV?</p>
  
  <p>I have Googled and didn't find much info on it. Currently I have this:</p>
  
  <pre><code>DelimitedFileEngine _engine = new DelimitedFileEngine(T);
  _engine.WriteStream
          (HttpContext.Current.Response.Output, dataSource, int.MaxValue);
  </code></pre>
  
  <p>It works, but without a header.</p>
  
  <p>I'm thinking of having an attribute like <code>FieldTitleAttribute</code> and using this as a column header.</p>
  
  <p>So, my question is at which point do I check the attribute and insert header columns? Has anyone done something similar before?</p>
  
  <p>I would like to get the headers inserted and use custom text different from the actual field name just by having an attribute on each member of the object:</p>
  
  <pre><code>[FieldTitleAttribute("Custom Title")]
  private string Name
  </code></pre>
  
  <p>and maybe an option to tell the engine to insert the header when it's generated.</p>
  
  <p>So when <code>WriteStream</code> or <code>WriteString</code> is called, the header row will be inserted with custom titles.</p>
  
  <p>I have found a couple of Events for DelimitedFileEngine, but not what's the best way to detect if the current record is the first row and how to insert a row before this.</p>