Not quoted empty strings are now null, implement a trim-blanks options.

When loading data from CSV file into a database (PostgreSQL in my case), it's important to be able to distinguish in between empty string and NULL values. This patch considers non-quoted empty strings as NIL.

Also, it's quite important to be able to retain blanks found around non-quoted values, so I also implemented a new option *trim-blanks* that works as shown here:

```lisp
CL-USER> (cl-csv:read-csv "'a', 'b',,'',   ,  plop  ,'c'" :quote #\' :trim-blanks nil)
(("a" "b" NIL "" "   " "  plop  " "c"))
CL-USER> (cl-csv:read-csv "'a', 'b',,'',   ,  plop  ,'c'" :quote #\' :trim-blanks t)
(("a" "b" NIL "" NIL "plop" "c"))
```

I've made the previous behaviour the default, that is *trim-blanks* defaults to `t`. I don' t think the unquoted empty string to `NIL` behavior needs an option, though.