Refactored the basic video iteration interface.
Introduced an abort_iteration method that should be called when the user
interrupts the iteration before it is finished. The old method
_end_iterating should only be called when the iterator is exhausted. 
This change allowed us to implement a better communication between
processes and between a VideoFork and its Clients to allow for the user
to interrupt processing at any point in time.