Update libpqxx from 2.5.5 to 4.0.1.

Changes from previous
=====================
4.0.1
 - Support for REPEATABLE READ isolation level.
 - Build fix for OS X.
 - Build fixes for clang++ 3.2.
 - Build fixes for clang++ 3.0.
 - Build fix for MinGW.
 - Build fix for BSD (and possibly other grep flavours).
 - Compatibility typedefs: pqxx::result::tuple & pqxx::result::field.
 - Supports C++11.
 - Fixed failure to detect some integer overflows during conversion.
4.0
 - API change: noticers are gone!  Use errorhandlers to capture error output.
 - API change: tablereaders and tablewriters are gone; they weren't safe.
 - API change: prepared statements are now weakly-typed, and much simpler.
 - API change: fields and tuples are now stand-alone classes in ::pqxx.
 - API change: thread-safety field have_strerror_r is now have_safe_strerror.
 - API change: notify_listener has been replaced with notification_receiver.
 - notification_receiver takes a payload parameter.
 - Easier Visual C++ setup.
 - Absolutely requires a libpq version with PQescapeStringConn.
 - Absolutely requires libpq 8.0 or better.
 - Changes for C++0x.
 - Supports clang++.
 - Visual C++ makefiles now support new-style unit tests.
 - Sample headers for more recent Visual Studio versions.
 - Fixes binary-data escaping problems with postgres 9.0.
 - Fixes problems with binary-string handling and escaping.
 - Fixes compatibility problems between 9.x libpq and 7.x backend.
 - quote_name to escape SQL identifiers for use in queries.
 - syntax_error reports error's approximate location in the query.
 - On Windows, now uses ws2_32 instead of wsock32.
 - Various Windows build fixes.
 - Updated for gcc 4.6.0.
 - configure script supports --enable-documentation/--disable-documentation.
 - Streamlined test/release toolchain.
3.1
 - Shared libraries are now versioned by ABI: 3.1 instead of 3.1.0 etc.
 - Threading behaviour is now documented, and can be queried.
 - Version information available at compile time.
 - Supports parameterized statements.
 - Result tuples now support slicing.
 - Configure with --with-tr1=boost to use BOOST shared_ptr.
 - String conversion now has its own header file.
 - Supports read-only transactions.
 - Fixed breakage with Solaris "make".
 - Uses shared_ptr if available.
 - binarystring::str() is no longer cached; no longer returns reference.
 - Fixed problems in Visual C++ Makefile for test suite.
 - Fixed problems with RPM packaging.
 - Fixed build problem on RedHat/CentOS 5.
 - Lets you check whether a prepared statement has been defined.
 - "Varargs" prepared statements.
 - Unnamed prepared statements now supported.
 - Results have iterator as well as const_iterator.
 - Rewrite of robusttransaction logic; may actually do its job now.
 - Connections support async query cancel from signal handler or thread.
 - More documentation for performance features.
3.0
 - Website is now at http://pqxx.org/ (no redirects)
 - Completely replaced cursor classes
 - More helpful error messages on failed connections
 - More detailed hierarchy of constraint-violation exception classes
 - trigger is now called notify_listener, trigger header is now notify-listen
 - New mixin base class pqxx_exception distinguishes libpqxx exception types
 - Quoting is back!  transaction_base::quote() & connection_base::quote()
 - Several build & documentation problems with Visual C++ fixed
 - Compile fixes for gcc 4.2, 4.3
 - Compile fixes for Sun Studio Express 5.9
 - Uses strlcpy() where available, instead of strncpy()
 - Keeps better track of applicable text encodings
 - Fixed bug with prepared statement parameters in separate C++ statements
 - robusttransaction now works for multiple users
 - Pipeline lets you cancel ongoing queries, e.g. because they run for too long
 - Fixed broken escaping of binary values in tablewriter
 - Floating-point types now represented with full precision
 - Proper unit tests for new functionality
 - New traits-based system for adding data types
 - Floating-point infinities now supported
 - Flushing/completing a pipeline now frees up the transaction for other use
 - Completely reworked test suite, builds and runs much faster
 - tablewriter supports writing of raw lines
2.6.9
 - Removed old 1.x API (that means all identifiers with capital letters!)
 - Tested with all current libpq versions and oldest/newest supported backends
 - No longer have old OnCommit()/OnAbort()/OnDoubt() callbacks in transactor!
 - Fixes failure when closing cursors with upper-case letters in their names
 - Fixes bug when adding triggers to connections that aren't open yet
 - Fixes bug when removing triggers
 - Fixes small memory leak when preparing statements
 - Fixes many problems with older backends
 - Fixes bug in result::swap(): protocol versions were not swapped
 - Some errors went undetected when using certain libpq versions
 - Fixes prepared statements on new libpq versions talking to old backends
 - Can estimate server version if libpq does not know how to obtain it
 - Greatly reduced memory usage while escaping strings
 - With Visual C++, creates lib/ directory if not already present
 - Useful error messages when preparing statements
 - Allows prepared statements to be registered explicitly
 - Support for "long long" types; enable with PQXX_ALLOW_LONG_LONG macro
 - Compilation errors for older libpq versions fixed
 - Some new small utility classes for disabling notice processing etc.
 - Result sets remember the queries that yielded them
 - New test script, pqxx-fulltest, tests against all current postgres versions
 - Connections can simulate failure
 - Adds password encryption function
2.6.8
 - Fixes bug: binary parameters to prepared statements truncated at nul bytes
 - New, more specific exception types to distinguish errors from server
 - Resolved serious problems with generated reference documentation
 - Automatically detect Windows socket library with MinGW
 - Windows "make" fixed to run from main directory, not win32
 - Fixes "mktemp" problems on some BSD-based platforms
 - pqxx-config is deprecated; use pkg-config instead
 - On GNU/Linux, uses poll() instead of select() to avoid file descriptor limit
 - Will provide server and protocol version information where available
 - New cursor class, absolute_cursor
2.6.7
 - New escape functions for binary data: transaction_base::esc_raw()
 - Improved detection of socket libraries, especially for MinGW
 - Works around bug in some versions of GNU grep 2.5.1
 - Fixes problem with configuration headers
 - Fixes PQprepare() detection
 - Fixes incomplete Visual C++ Makefile
 - Fixes compile error in workaround for older libpq versions
 - Removes "rpath" link option
2.6.6
 - New, encoding-safe string-escaping functions
 - Upper-case letters now allowed in prepared-statement names
 - Fixes crash in test005
 - More Visual C++ improvements
 - Removed collaboration diagrams from reference docs
 - New templating system for generating Windows Makefiles etc.
2.6.5
 - Visual C++ users: copy win32/common-sample to win32/common before editing it
 - Should fix problems finding socket library on MinGW
 - Even more work on Visual C++ problems
 - Updated documentation for Visual C++ users
 - Fixed bug in prepared statements (mostly visible on Visual C++)
 - Nested transactions work harder to detect backend support
2.6.4
 - Massively improved compatibility with Windows and Visual C++
 - Fixed late initialization of "direct" connection state
 - Fixed problem with initialization of connection capabilities
 - Fixed configuration bug for libpq in nonstandard locations
 - Sample configuration header for libpq found in PostgreSQL 8.1
2.6.3
 - Radical rework of prepared statements; INCOMPATIBLE INTERFACE CHANGE!
 - Dropped support for g++ 2.95
 - Emulate prepared statements support on old libpq or old backend
 - Bug fix: missing tutorial (release script now tests for this)
 - Automatically links in socket library on Windows or Solaris, if needed
 - Bug fix: check for std namespace didn't work
 - Fixes for Cygwin/MSYS/MinGW
2.6.2
 - Bug fix: connection state was not set up properly in some common cases
 - Bug fix: headers were installed in "include" instead of "include/pqxx"
 - Bug fix: sqlesc(string) broke with multibyte or multiple encodings
 - namedclass is now used as a virtual base; affects all subclass constructors
 - Initial implementation of subtransactions
 - Detect more connection capabilities
 - Standard library namespace can be set from configure script's command line
 - Completely reworked connection hierarchy, with separate policy objects
 - Clients can now define their own connection policies
 - Paved the way for client-defined thread synchronization
 - Now lives at http://thaiopensource.org/development/libpqxx/
2.6.1
 - Hugely improved recognition of different strerror_r() versions
 - Resolved link problems with gcc 4.0 and shared library
2.6.0
 - New macro PQXX_SHARED defines whether to use/build libpqxx as shared library
 - Robusttransaction compatible with PostgreSQL 8.1
 - Infrastructure for querying connection/backend capabilities at runtime
 - Greatly improved cursor support
 - Connection reactivation can be inhibited explicitly
 - Tries even harder to make sense of conflicting strerror_r() definitions
 - Detects connection failures that libpq glosses over
 - Reference documentation grouped into more coherent sections
 - Assumes strerror() is threadsafe on systems that have no strerror_r()
 - Now allows connection's socket number to be queried
 - New internal_error class for libpqxx-internal errors
 - With Visual C++, doesn't redefine NOMINMAX if it is defined already
 - Several compatibility improvements for Visual C++
 - Fixes and workarounds for HP-UX and HP aCC compiler
 - Phased old cursor interface out of test suite; tests ported to new interface
 - Added documentation on thread safety
 - New thread safety model
 - Large objects have functions to tell current position
 - Minor updates to tutorial (somebody pay me and I'll do more :)
 - No longer needs libpq-fs.h header
 - Meaningful error messages for ambiguous string conversions fixed
2.5.6
 - Support null parameters to prepared statements (use C-style char pointers)
Updated databases/libpqxx and databases/libpqxx-doc to 4.0.1.
Update emacs-snapshot to 24.3.50.20130207.

Patches provided by Makoto Fujiwara in PR 47552 and modified by me.

Notable changes since 24.3:
** `apropos-variable' is now `apropos-user-option'
** `eval-defun' on an already defined defcustom calls the :set function,
   if there is one.
** The option `set-mark-default-inactive' has been deleted.
   This unfinished feature was introduced by accident in Emacs 23.1;
   simply disabling Transient Mark mode does the same thing.
** `initial-buffer-choice' can now specify a function to set up the
   initial buffer.
** ACL support has been added.
** New option `scroll-bar-adjust-thumb-portion'.
** Improved fullscreen support for Nextstep (Mac OS X).
** New commands `toggle-frame-fullscreen' and `toggle-frame-maximized',
   bound to <f11> and M-<f10>, respectively.
** Delphi mode is now called OPascal mode.
** jit-lock-debug-mode lets you use the debuggers on code run via jit-lock.
** completing-read-multiple's separator can now be a regexp.  The
   default separator is changed to allow surrounding spaces around the
   comma.

See share/emacs/24.3.50/etc/NEWS for the complete list of changes.
Note update of emacs-snapshot.