Added OuterIterator behavior to the CloudTrail LogRecordIterator so the ListObjectsIterator can be accessed
Refactored CloudTrail LogRecordIterator into 3 classes with better separation of concerns and to more easily allow use cases where the log file key is already known.