Teach extra::term::Terminal.reset() to handle missing op

Unlike fg() and bg(), we haven't already checked for the presence of
"op" in the terminfo when we call reset(), so we need to handle the case
where it's missing.

Also update the warn!() lines to avoid double-quoting the output.

Fixes #7431.
util: make NonCopyable 0 size (instead of 1 byte)

this also adds a derived Eq, TotalEq, Ord and TotalOrd along with
removing the useless constructor
Rename #[no_drop_flag] to #[unsafe_no_drop_flag]
docs: Mention rustpkg in release notes
rustpkg: Update manual
extra: unused import fix for android
std: unused import fix for android
rc: add missing `#[unsafe_no_drop_flag]`

The destructors were updated in d9f6dd263c16a21108c27dbf15a3d59a43a5b490
but this was accidentally left out.
fix stage0 build
add a tutorial on containers and iterators
Update man page
rustpkg: Implement RUST_PATH

Unfortunately, the main test for this is ignored due to #7071.

Closes #5682
Remove useless namegen thunk
auto merge of #7272 : Aatch/rust/namegen_thunk, r=thestinger

This removes the `namegen` thunk that was in `common.rs`. I also take the opportunity to refactor a few uses where we had a `str -> ident -> str` chain that seemed somewhat redundant to me.

Also cleans up some warnings that made their way in already.
auto merge of #7397 : catamorphism/rust/rustpkg_path, r=catamorphism

r? @brson Unfortunately, the main test for this is ignored due to #7071.

Closes #5682
auto merge of #7426 : thestinger/rust/zero-size-noncopyable, r=catamorphism

4885918 r=huonw
42a63fc r=thestinger
7ec5a08 r=catamorphism
fb1e5f1 r=thestinger
659cd55 r=cmr
auto merge of #7436 : kballard/rust/term-dumb, r=cmr

Unlike fg() and bg(), we haven't already checked for the presence of
"op" in the terminfo when we call reset(), so we need to handle the case
where it's missing.

Also update the warn!() lines to avoid double-quoting the output.

Fixes #7431.
Change char::escape_{default,unicode} to take callbacks instead of allocating
strings
Specialize to_str_common for floats/integers in strconv

This allows the integral paths to avoid allocations on the heap