Fixes a crash and allows creating complex function

First fix around line 95 allows passing any query containing an assignment operator (:=) this way we can create complex functions within soci.
Second fix around line 172 avoids causing a second exception on the destructor when you have a 'statementName_' but actually PQPrepare() failed and threw a first exception.
Test functions with ':=' and causes a crash case

Tests if soci can create psql functions with assignments (:=).
Tests the situation where preparing an invalid query caused a crash with certain combinations of client/server versions.