Add caching

Paired with @barneydesmond 

Addresses issue #28 

Modified caching of sourcedicts to write out partial caches after processing each contents spoolfile.
Except when the public infrastructure has been flapping all day. Anyway I've added a comment with the reasoning, independent of this branch.