title: write.table writes unwanted leading empty column to header when has rownames
body: <p>check this example:</p>
  
  <pre><code>&gt; a = matrix(1:9, nrow = 3, ncol = 3, dimnames = list(LETTERS[1:3], LETTERS[1:3]))
  &gt; a
    A B C
  A 1 4 7
  B 2 5 8
  C 3 6 9
  </code></pre>
  
  <p>the table displays correctly. There are two different ways of writing it to file... </p>
  
  <p><code>write.csv(a, 'a.csv')</code> which gives as expected:</p>
  
  <pre><code>"","A","B","C"
  "A",1,4,7
  "B",2,5,8
  "C",3,6,9
  </code></pre>
  
  <p>and <code>write.table(a, 'a.txt')</code> which screws up</p>
  
  <pre><code>"A" "B" "C"
  "A" 1 4 7
  "B" 2 5 8
  "C" 3 6 9
  </code></pre>
  
  <p>indeed, an empty tab is missing.... which is a pain in the butt for downstream things.
  Is this a bug or a feature?
  Is there a workaround? (other than <code>write.table(cbind(rownames(a), a), 'a.txt', row.names=FALSE</code>)</p>
  
  <p>Cheers,
  yannick</p>