add encode and decode

this PR adds a `decode` method to this module.
it's backwards compatible, and correctly parses quotes etc.

I also updated the documentation to show the encode and decode.

I also took the liberty to remove the option to change the separator,
I figure this is confusing and most users wont actually want to do that.

Also, decode doesn't support that yet -