Fix pickling for C++ constructed StructureAdapter-s.

Instances of non-wrapped StructureAdapter objects were not properly
restored.  Use boost::serialization to restore the C++ created
adapter objects.  For Python-wrapped objects use the default
constructor.
Support pickling of DerivedStructureAdapter in PairQuantity.

Pickling of PairQuantity that contains Python-derived structure adapter
would loose structure data.  Remedy: Pickle StructureAdapter separately
from PairQuantity and restore it on unpickling.
Support Python methods-override for Atomic adapter classes.

Methods overrides from Python are now available for
AtomicStructureAdapter, PeriodicStructureAdapter and
CrystalStructureAdapter classes.

Pickling still needs to be sorted out.
Fix pickling for the AtomicStructureAdapter classes.

Also merge StructureAdapterPickleSuite2 into
StructureAdapterPickleSuite as a template class.
Move DiffPy Structure conversion to Python.

Started work on removing DiffPyStructureAdapter from libdiffpy
and moving it to Python.  Still need to move ObjCryst-related
adapters and all unit tests.
Pass PairQuantity in customPQConfig by pointer.

The wrapped customPQConfig function in Python would otherwise receive a
temporary PairQuantity copy and would have absolutely no effect.
Make PairQuantity.eval handle convertible objects.

If Python object can be converted to StructureAdapter, it can
be directly passed to PairQuantity.eval method.
Purge PythonStructureAdapter.hpp libdiffpy header.

Instead define diffpy::srreal::createStructureAdapter(python::object)
here so that there is a support for implicit argument conversions
in PairQuantity::eval.
Support function-like call to RegisterStructureAdapter.

Now it can be used both as a decorator or as simple register function.
Add convertor functions for pyobjcryst objects.

The convertObjCrystMolecule and convertObjCrystCrystal are
functional pertaining to the ObjCryst support in libdiffpy.
Register converters for pyobjcryst Crystal and Molecule.
Warn if objcryst support is not built in.

And also skip objcryst tests in such case even if pyobjcryst can
be imported.
Adjust for removed libdiffpy header.

No more PythonStructureAdapter in libdiffpy.
We must now link with boost_python.

Add scons configure section to figure out what tag suffix
is used by boost_python library.  Ignore temporary files
from scons configure.
Avoid warning about invalid "-s" flag on MacOSX.
Link extension with boost_python library.