message: Copy and delete cubes in Molecule correctly
  This potentially fixes a memory leak in the Molecule
  class for when the destructor is called and the cubes
  are never deleted.
  It also fixes any issues with copying the cubes via
  the copy constructor or assignment operator.
diff: @@ -52,6 +52,12 @@ Molecule::Molecule(const Molecule &other)
  Mesh *m = addMesh();
  *m = *other.mesh(i);
  }
  +
  + // Copy over any cubes
  + for (Index i = 0; i < other.cubeCount(); ++i) {
  + Cube *c = addCube();
  + *c = *other.cube(i);
  + }
  }
  Molecule& Molecule::operator=(const Molecule& other)
  @@ -79,6 +85,14 @@ Molecule& Molecule::operator=(const Molecule& other)
  Mesh *m = addMesh();
  *m = *other.mesh(i);
  }
  +
  + clearCubes();
  +
  + // Copy over any cubes
  + for (Index i = 0; i < other.cubeCount(); ++i) {
  + Cube *c = addCube();
  + *c = *other.cube(i);
  + }
  }
  return *this;
  @@ -89,6 +103,7 @@ Molecule::~Molecule()
  delete m_basisSet;
  delete m_unitCell;
  clearMeshes();
  + clearCubes();
  }
  void Molecule::setData(const std::string &name, const Variant &value)
  