Premade structs which wrap standard collection in the active standby
model. This allows for the API to match RwLock while under the hood
the active standby model works its magic. AsLockReadGuard is generic
since only writes require a special API for active_standby.
Struct for holding tables that can be interacted with like an RwLock,
including being shared across threads/tasks via Arc (as opposed to the
lockless version which requires independent copies per thread/task).