Refactoring: re-ordering methods, renaming.
Removed WriterFactory class.  Its function is now performed by the
WorkUnitBuilder interface.
Refactoring: re-ordering and renaming methods.
Refactoring: simplified RealsWorkUnit.next_item method.
Refactoring: removed StatefulCollection.has_next, replaced usage with
StatefulCollection.is_on_last_item.
Refactored WorkUnit.is_finished