Fix #217 double NaN regression #2

This is a continuation of PR #257,.@franciscojunior's fix for bug #217.

I want to limit the areas that are effected by the rather substantial complexity of properly quoting string values for all the combinations of PG backend, query mechanism, and whether or not the value is an array element.  So, I moved QuoteASCIIString() over right next to the massive raw string formatting/quoting function, spiffed it up a little, and marked it internal.  Then I changed the float converters to use it, so that they don't have to know anything about how to quote the value.

Note that we don't strictly need the double-quoted NaN value because floating point uses the binary encoding for extended queries.  However, if a test is ever put in to test NaN array elements with binary encoding suppressed, they would fail, causing some pain.

Thoughts?

-Glen