Create a file-based session store implementation in Go, based on the session store interface. Store sessions on disk and allow for loading/persisting sessions between service restarts. Support context-passing, full CRUD and purging operations, and ensure reliability in concurrent use. Provide tests for file-based persistence and all interface methods.