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).
monitor the pipeline progress from CL.  Only partially working
Started some basic version tracking
Seperated the getting of tags from the parsing
Merge branch 'master' of https://github.com/ijiraq/MOP
Merge branch 'master' into optimize_next_workunit

Conflicts:
	src/ossos-pipeline/ossos/gui/app.py
some tools for planning field locations
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.