Fast binary serialization read write,support Serde and Stream model

Similar to bincode, but beyond the performance of bincode

Provide basic RW and var length Rw

```rust let mut data = Data::new(); data.writefixed(1u8); data.writefixed(2i16); data.writefixed(3i32); data.writefixed(4i64); data.writefixed(5f32); data.writefixed(6f64); data.writefixed("hello world"); data.writevarinteger(123u64); data.writevar_integer("hello world");

let mut rd = DataReader::from(&data[..]); asserteq!(1, rd.readfixed::()?); asserteq!(2, rd.readfixed::()?); asserteq!(3, rd.readfixed::()?); asserteq!(4, rd.readfixed::()?); asserteq!(5f32, rd.readfixed::()?); asserteq!(6f64, rd.readfixed::()?); asserteq!("hello world", rd.readfixedstr()?); asserteq!(123u64, rd.readvarinteger::()?); asserteq!("hello world", rd.readvar_str()?); ```

Support features custom

toml [features] default=["rmp"] big_endian=[] check_utf8=[]

benchmark ```shell running 9 tests test benchbaserw ... bench: 52,288 ns/iter (+/- 654) data-rw test benchownedbaserw ... bench: 53,659 ns/iter (+/- 2,795) data-rw test benchownedpack ... bench: 140,562 ns/iter (+/- 1,925) test benchpack ... bench: 139,910 ns/iter (+/- 2,353) test benchstr ... bench: 53,023 ns/iter (+/- 770) data-rw test benchstrbincode ... bench: 71,520 ns/iter (+/- 1,558) test benchstrjson ... bench: 91,993 ns/iter (+/- 1,074) test benchstrowned ... bench: 53,272 ns/iter (+/- 1,277) data-rw test benchstr_rmp ... bench: 78,455 ns/iter (+/- 1,333)

test result: ok. 0 passed; 0 failed; 0 ignored; 9 measured; 0 filtered out; finished in 2.24s ```