csv: Add features

Add the following features:

* Escaping.
* Customization of the CSV format.
* A reader.

Fix #969.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
La gestion des boucles et demies est pas idéale en Nit. Un jour il faudra trouver un pattern pas trop degueux.

Le `while` peut toutefois etre simplifié en un `for` je pense
~~~
   # ...
   i.next
   for item in i do
      ostream.write format.separator.to_s
      write_value item.to_s
   end
end
~~~