make writedlm work for AbstractVector/Matrix, add corresponding writemime

`writedlm` should work for abstract arrays, and we should have corresponding `writemime` methods for `text/csv` and `text/tab-separated-values`.