Add helper cstring_to_double() and use it in PostgreSQL backend.

Replace PostgreSQL-specific and incorrect string_to_double() function with a
common (i.e. reusable) cstring_to_double() which always interprets the string
as being in "C" locale as this is what the actual strings, retrieved from the
database, use.

---

This should finally fix the problem last discussed 5 years ago in [this thread](https://sourceforge.net/p/soci/mailman/message/22659188/) except that it does it for PostgreSQL and not SQLite. If there are no objections, I'm going to update the patch to also do it for SQLite and MySQL (although I won't be able to test the latter).