Renamed test case classes.
PreFetchingWorkUnitProvider mostly implemented, but has bug where 
it hangs if the prefetch quantity is 0.
Reworked PreFetchingWorkUnitProvider to store fetched workunits in 
a list instead of Queue.  Avoids the bug with blocking forever on the last
workunit if prefetch quantity is 0.
Added optional ignore_list parameter to WorkUnitProvider.get_workunit.
Added CopyingMock test utility for dealing with assertions about mutable
call parameters.
PreFetchingWorkUnitProvider now keeps track of workunits fetched and
passes them in the ignore_list to WorkUnitProvider.
Switched app over to using prefetching workunit provider (with prefetch
quantity set to 1).
Merge branch 'master' into optimize_next_workunit

Conflicts:
	src/ossos-pipeline/ossos/gui/app.py
A WorkUnit is now responsible for unlocking its file when it is finished 
processing.  Therefore the model no longer needs to deal with switching
locks. 
Removed UIModel's previous_workunit method which was never used.
Removed callbacks from StatefulCollection.
Added async flag to unlock so that unlocking in VOSpace can be done in 
a separate thread.
Removed unused method.
Merge pull request #130 from drusk/optimize_next_workunit

Speedup next workunit.