Add caching

Paired with @barneydesmond 

Addresses issue #28 

Modified caching of sourcedicts to write out partial caches after processing each contents spoolfile.