rc-vec 0.1.13

RcVec based on Rc and can be converted from Rc without allocation
Documentation
`RcVec` based on `Rc` and can be converted from Rc without allocation,
just like `Box` is converted to `Vec`

Due to `Rc`'s API, this implementation cannot use `realloc`, resulting in some performance issues

Similar to `Vec::into_boxed_slice`,
`RcVec::into_uniq_slice` can be converted to `UniqRc`,
which is the packaging of `Rc` and behaves similarly to `Box`

# Examples
```rust
use rc_vec::RcVec;
use std::rc::Rc;

let rc: Rc<[i32]> = Rc::new([1, 2, 3]);
let rcptr = Rc::as_ptr(&rc).cast();

let mut vec = RcVec::from(rc);

assert_eq!(vec.len(), 3);
assert_eq!(vec.capacity(), 3);
assert!(std::ptr::eq(rcptr, vec.as_ptr()));

vec.push(4);

assert_eq!(vec.len(), 4);
assert!(vec.capacity() > 3);
assert!(! std::ptr::eq(rcptr, vec.as_ptr()));

assert_eq!(vec, [1, 2, 3, 4]);
```

# Safety
- miri passed

**I have not checked any synchronization related issues with the Arc variant**