Update PhotoIterator to accept list on new

- The constructor for PhotoIterator now accepts the list that the
  iterator is backed by. Should allow for easier testing of
  iterator.
Change scope of nested PhotoIterator class

- Allows instantiation outside of parent class and without an
  instance of LocalPhotoRepository.
Fix Photo constructor to assign values properly
Add simple tests for PhotoIterator