Issue #20: Added read/write lock and cache to file based repository
implementation.