### Method: `renameDir(oldDirName, newDirName)`

#### Overview:
The `renameDir` method in the `Store` class is used for renaming a directory within the store. It allows for the modification of directory names, providing flexibility in managing the directory structure.

#### Usage with `dir` Method:
- **Setting Directory Path**: The `renameDir` method can be preceded by the `dir` method to specify the path to the directory that is to be renamed.
- **Example**:
  ```js
  store.dir('some/path/to/dir').renameDir('old-value', 'new-value');
  ```

#### Functionality:
- **Directory Existence Check**: Before renaming, the method checks for the existence of both the old directory (to ensure it exists) and the new directory (to ensure it does not already exist).
- **Renaming Process**: If the checks pass, the method proceeds to rename the old directory to the new directory name.
- **Cache Update**: After renaming, the store's internal cache is updated to reflect the change in directory name. This ensures that subsequent operations on the store will recognize the new directory structure.

#### Method Implementation:
- **Parameters**:
  - `oldDirName` (String, required): The current name of the directory to be renamed.
  - `newDirName` (String, required): The new name for the directory.
- **Asynchronous Operation**: The renaming operation is asynchronous, allowing other processes to run concurrently without blocking.
- **Error Handling**: If either directory does not meet the existence criteria, the method will not proceed with the renaming to prevent any unintended data loss or conflicts.

#### Important Notes:
- **Correct Usage**: It's essential to ensure that the directory names provided are accurate and that the new directory name does not conflict with any existing directory names.
- **Impact on Store**: Renaming a directory will affect all files and subdirectories within it. Users should be cautious to avoid disrupting the file structure unintentionally.

This `renameDir` method provides an efficient way to manage the directory structure within the `Store` class, with built-in checks and cache updating for consistency and safety.
