[39] Revert "[39] workaround for some g++: pass a concrete obj to avoid incorrect copy."

reverting, committed to the wrong branch.
[master] workaround for some g++: pass a concrete obj to avoid incorrect copy.

I encountered this with g++ 4.2.1 on FreeBSD 8.4 and confirmed this fix worked.
an easy fix, directly committing it myself.
[master] work around another g++ oddity by passing a concrete object.

this is same for commit 0abaf6504f9838c466e55ee7827c1da9cd614502
[master] corrected distcheck failure in libdatasrc.

adjust libdatasrc_memory_la_SOURCES due to recent file name changes.
[master] use socket.error, not OSError as an expected exception for some cases

the former isn't derived from the latter for older versions of python.
[39] Merge branch 'master' into issue39
[39] added comments about the usage