arcu 0.1.2

An Rcu implementation using an Arc to keep the read critical section short and handle cleanup
Documentation
//! Example from Issue #1
//!
//! ```compile_fail
//! struct Thing {
//!     rcu: Arcu<std::cell::RefCell<u8>, GlobalEpochCounterPool>,
//! }
//! impl Thing {
//!     fn send(&self) {
//!         std::thread::scope(|scope| {
//!             scope.spawn(|| {
//!                 let mut ref_mut = self.rcu.read();
//!                 let mut ref_mut = ref_mut.borrow_mut();
//!                 *ref_mut = 1;
//!                 println!("{}", ref_mut);
//!             });
//!
//!             let mut ref_mut = self.rcu.read();
//!             let mut ref_mut = ref_mut.borrow_mut();
//!             *ref_mut = 2;
//!             println!("{}", ref_mut);
//!         });
//!     }
//! }
//!
//! let thing = Thing {
//!     rcu: Arcu::new(std::cell::RefCell::new(0), GlobalEpochCounterPool)
//! };
//!
//! thing.send();
//! ```