Remove #[inline] from functions using non-public members

This may be pointless or even remove some careful optimization,
but not inlining functions that use internal details gives a greater
degree of ABI stability.
c_str::ToCStr: Improve the documentation of .to_c_str()

Pronounce the allocator of the resulting CString an implementation
detail. Currently all implementations use libc::malloc, but this
should not be considered part of trait's contract.
c_str::ToCStr: Improve the documentation of .with_c_str()

Explain why it may be a better choice than `.to_c_str()`.
Update to recent Rust

Adapting to collection reform and DSTification of PartialEq, PartialOrd
etc.
Added .with_c_str_len()

Some users of ToCStr might benefit from pre-computed string length
which is readily available in many implementations.
Improve documentation
Deduplicated asserting