Rewrite cut_bytes(), more performant than GNU

Creates BufReader in buffer.rs. BufReader uses a stack allocated buffer
to read into and returns selected slices into the buffer. This does away
with any dynamic allocations in the 'newline loop.

1.5 to 2.5 more performant than previous version.
1.5 to 2.0 times more performant than GNU.
Merge pull request #345 from polyphemus/cut-bytes-rewrite

Rewrite bytes cutting for cut
Implement shuf
shuf: update for latest Rust
shuf: handle stdin
Merge pull request #346 from Arcterus/shuf

Implement shuf
Add shuf to Cargo.toml and remove shuf from to-do list
wc: stop buffering stdin twice
Merge pull request #347 from Arcterus/master

Add shuf to Cargo.toml and remove shuf from to-do list
Merge pull request #348 from Arcterus/wc-buffering

wc: stop buffering stdin twice