Updated merged-in test case for new persistence API.
Made creation of the lock file atomic using lower-level os operations.
Created VettableCollection class to better abstract the vettable items.
The index of items is now retrievable, which will enable writing the 
index to .PART files for persistence.
AstromWorkload now provides record_current_file_done method
instead of record_done method which requires a filename.
The model now uses the persistence module to record when an item is 
accepted or rejected.  It doesn't not yet read these values back when
starting up.
Added is_done method to PersistenceManager to check if a specific 
file is done processing.

Changed get_processed_indices to return an empty list if it is called on
a file which has no .PART file, rather than throwing an error saying the 
file doesn't exist.
Calling record_done will no longer remove all locks in the directory.
History of recorded indices are now kept in the .DONE file after 
record_done is called so that get_processed_indices doesn't return an
empty list after the file is finished processing.
Recording a file as finished processing now happens when the last item
is accepted or rejected, rather than when trying to go to the next file.
Added integration tests for model persistence.