RFC: generalize writedlm to iterable arguments and arbitrary delimeters

This patch generalize the `writedlm(io, A, delim)` to accept arbitrary iterable collections (of iterable rows) for `A` and to accept arbitrary Julia objects for `delim` (which was previously restricted to `Char` for no discernable reason).  So, for example, you can now do:
```
julia> writedlm(STDOUT, combinations([1,2,3,4], 3), ", ")
1, 2, 3
1, 2, 4
1, 3, 4
2, 3, 4
```
The documentation is also updated (it was incomplete anyway), and a test case is added.