A concurrent **Readers/Writer lock** implementation built on `GenServer`. `RWLock` allows multiple readers to acquire a shared (`:sh_lock`) lock simultaneously, while ensuring that only one writer (`:ex_lock`) can hold an exclusive lock at any given time.