Design and create a Go interface for a session store abstraction. The interface should support methods for setting, getting, checking existence, and deleting session data by key, along with batch purging of expired entries. Signature should include context passing for all CRUD operations. Document usage clearly for further store implementations.