refactored database-output-sql-as-type in a similar fashion to
the previous refactor of database-get-type-specifier (fewer
methods using case instead of eql specifiers)

 * removed very strange definition of outputing floats as strings for
   something sane (it was previously doing silly work like setting the
   default read float type (which AFAICT doesnt affect printing))

 * half of the cases nil returned "" other times it returned nil,
   now if we get a null value we return nil always

 * removed odd-logic (seemingly untouched since the initial import),
   that removed null characters from printed lists.  If we have #\null
   in a printed list, we had probably better figure out what went wrong
   there rather than destructively modifying the list output on the way
   to the DB ;; removed (substitute-char-string escaped #\Null " ")