Fix the issue #136 across all backeds.

See issue #136

The issue is cause because the session backend gets deleted during reconnect.
This solution simply don't do that.
With this fix session backends gained support for open connections and close them (via clean_up).
Also, it's possible to check if session backend is opened though in very simplistic way that just works. That can be improved in later versions.

No public API was changed and I tried to be conservative as possible with the backend objects.

This is a reasonable complex issue, so reviews are welcome.

I'm targeting soci 3.2.2 with fix pull request.

Please note DB2 backend depend (lightly) on #146 to work properly.
Other small DB2 fix is included in this request.