test: Remove all uses of `~str` from the test suite.
libworkcache: Remove all uses of `~str` from `libworkcache`.
libuuid: Remove all uses of `~str` from `libuuid`.
libhexfloat: Remove all uses of `~str` from `libhexfloat`
libarena: Remove all uses of `~str` from `libarena`
libregex: Remove all uses of `~str` from `libregex`
libgraphviz: Remove all uses of `~str` from `libgraphviz`.
liblog: Remove all uses of `~str` from `liblog`
libglob: Remove all uses of `~str` from `libglob`
libsemver: Remove all uses of `~str` from `libsemver`
libtime: Remove all uses of `~str` from `libtime`
librand: Remove all uses of `~str` from `librand`
libsync: Remove all uses of `~str` from `libsync`
libtest: Remove all uses of `~str` from `libtest`.
libterm: Remove all uses of `~str` from `libterm`
liburl: Remove all uses of `~str` from `liburl`
libcollections: Remove most uses of `~str` from `libcollections`
libnum: Remove all uses of `~str` from `libnum`
auto merge of #14170 : pcwalton/rust/detildestr-misclibs, r=alexcrichton

r? @brson
Add ToCStr impl for &Path and StrBuf

This is a stopgap until DST (#12938) lands.

Until DST lands, we cannot decompose &str into & and str, so we cannot
usefully take ToCStr arguments by reference (without forcing an
additional & around &str). So we are instead temporarily adding an
instance for &Path and StrBuf, so that we can take ToCStr as owned. When
DST lands, the &Path instance should be removed, the string instances
should be revisted, and arguments bound by ToCStr should be passed by
reference.

FIXMEs have been added accordingly.