Re: "Automatic quoting of strings, but only when needed."
I haven't verified this with your lib but there are other special characters which Excel will treat differently when a field's value begins with them, for example =. If a value begins with = from a CSV then Excel treats it as a formula. There are a couple other special chars like this that only matter if they're at the start - I believe -, =, +. These need to be quoted.
Nice work, btw!