Added an iterator to SmartPointer3D. Iterators will allow for the solvers to work with generic domain types in the future.