refactor(headers): changed from rwlock to mucell underneath

Before:
```
test header::tests::bench_header_get                 ... bench:       430 ns/iter (+/- 18)
test header::tests::bench_header_get_miss            ... bench:       153 ns/iter (+/- 3)
test header::tests::bench_header_has                 ... bench:       184 ns/iter (+/- 6)
test header::tests::bench_header_set                 ... bench:      1102 ns/iter (+/- 14)
test header::tests::bench_header_view_is             ... bench:        33 ns/iter (+/- 1)
```

After:
```
test header::tests::bench_header_get                 ... bench:       191 ns/iter (+/- 14)
test header::tests::bench_header_get_miss            ... bench:       151 ns/iter (+/- 13)
test header::tests::bench_header_has                 ... bench:       182 ns/iter (+/- 32)
test header::tests::bench_header_set                 ... bench:       283 ns/iter (+/- 8)
test header::tests::bench_header_view_is             ... bench:        33 ns/iter (+/- 0)
```

However, I'm not sure how much this differs from just using RefCell, as I think most of the speed up is not using OS locks.
we should probably `debug_assert` or something that this actually succeeds, since it will cause an unsafe transmute or unwrap if it doesn't.