Fixed the many bugs with the SmartPointer3D iterator, and added a test directory. The iterator was tested and appears to be working properly now.