De-~[] Reader and Writer

There's a little more allocation here and there now since
from_utf8_owned can't be used with Vec.
De-~[] Mem{Reader,Writer}
De-~[] IO utils
fix kate syntax highlighting
std: Fix a doc example on io::signal

This also makes the listener struct sendable again by explicitly putting the
Send bound on the relevant Rtio object.

cc #13352
std: Ignore a flaky std::comm test

This test relies on the parent to be descheduled before the child sends its
data. This has proved to be unreliable on libnative on the bots. It's a fairly
trivial test regardless, so ignoring it for now won't lose much.
Add requirements of TotalEq and TotalOrd

Clarify that TotalEq needs an underlying equivalence relation and that TotalOrd
needs a total ordering and specifically named the required (and sufficient)
attributes.
Remove use of block comments in src/libstd/cmp.rs
Fixed broken tutorial link
Remove check-fast. Closes #4193, #8844, #6330, #7416
test: Ignore compile-fail/issue-5806.rs

Broken on BSD. #12460
mk: Pass the name of the make command to maketest.py

This should make BSD use the proper GNU make.
test: Ignore run-make tests that don't work on BSD
Ignore another test that fails mysteriously on BSD
Use ignore-freebsd for tests broken on FreeBSD
Remove ignore-fast that has cropped up
rmake: Fix a test on FreeBSD
Fix some windows rpass tests
native: Try hard to not malloc on a forked child

This appears to be causing the BSD bots to lock up when looking at the core
dumps I've managed to get. Dropping the `FileDesc` structure triggers the `Arc`
it's contained in to get cleaned up, invoking free(). This instead just closes
the file descriptor (the arc itself is never cleaned up).

I'm still not entirely sure why this is a problem because the pthreads runtime
should register hooks for fork() to prevent this sort of deadlock, but perhaps
that's only done on linux?
sync: remove unsafe and add Send+Share to Deref (enabled by autoderef vtables)