Helper functions for argument checking.

These throw Python exceptions from C++ wrappers.
Wrap AtomicStructureAdapter using indexing_suite.

This supports Python containter semantics for access to Atoms.
Adjust for new interface of the Atom class.

Rename cartesianposition --> xyz_cartn
and cartesianuij --> uij_cartn.
Add copy constructor for Atom class.

Also wrap its equality operators.
Add copy constructor for AtomicStructureAdapter.

Also add comparison operators.
Add direct properties for xyz_cartn and uij_cartn.
Wrap PeriodicStructureAdapter class.
Wrap CrystalStructureAdapter class.
Support pickling for StructureAdapter classes.

Share pickling suite for all StructureAdapter classes.
Instantiating class through a dedicated contstructor method
seems to handle well classes that are not explicitly wrapped.