Added persistent atom and bond objects

This offers an object that can contain a persistent atom, reporting
correct validity based on whether the contained unique ID is actually
pointing to a an atom in the molecule or not. The same is true for
the persistent bond object, with both new objects tested in the
molecule tests.

Change-Id: Ia9fae2c2f6eca4e1bb987bb7603b2e37a621bae6
Added constructor and set overloads for atom/bond objects

This makes it much easier to create persistent references to atoms and
bonds from the objects the Molecule class returns. Added some minimal
testing of this, and made the constructors explicit.

Change-Id: I36d10a41ac01b02228fe9e943218f304d3a0d8f5
Merge topic 'persistent-atoms-bonds' into master

4f583be0 Added constructor and set overloads for atom/bond objects
0a523388 Added persistent atom and bond objects