read_collection 0.1.2

A collection of different variants of the `std::io::Read` trait.
Documentation
# Read Collection
This crate provides some other variants of the [`Read`] trait. Currently there's only `ReadBack`.
Feel free to create PRs for other variants.

# Example (`ReadBack`)
```rust
use read_collection::ReadBack;
use std::io::Read;

fn main() {
    let values = [1, 2, 3];
    let mut buffer = [0, 0];

    // How it could look like with `Read`:
    assert_eq!(values.as_slice().read(&mut buffer).ok(), Some(2));
    assert_eq!(buffer, [1, 2]);

    // With `ReadBack`:
    assert_eq!(values.as_slice().read_back(&mut buffer).ok(), Some(2));
    //                 [----] and the buffer contains the value starting from the back!
    assert_eq!(buffer, [2, 3]);
}
```

# Status
Implemented:
- [x] `ReadBack` for reading back *duh*
  - [x] `ReadBack` trait
    - [x] for `&[u8]`
    - [x] for [`File`] and `&File`
    - [x] for [`Empty`]
  - [x] `BufReadBack` trait
    - [x] for `&[u8]`
    - [x] for [`Empty`]
    - [x] `BufReadBacker` struct

[`File`]: https://doc.rust-lang.org/std/fs/struct.File.html
[`Read`]: https://doc.rust-lang.org/std/io/trait.Read.html
[`Empty`]: https://doc.rust-lang.org/std/io/struct.Empty.html