Remove Rng.choose(), rename Rng.choose_option() to .choose()

Rng.choose() is used so rarely that it doesn't necessitate having two
methods, especially since the failing, non-option variant also requires
Clone.

[breaking-change]
Updated doc with correct type.
auto merge of #14319 : kballard/rust/rename_rng_choose_option, r=alexcrichton

Rng.choose() is used so rarely that it doesn't necessitate having two
methods, especially since the failing, non-option variant also requires
Clone.

[breaking-change]
rustc: rename the lint `level` enum for style.

CamelCase all the way!
rustc: ng -> gn, fix a typo in a string.
rustc: improve error messages from wrong --pretty flowgraph use.

This defers to .fatal and .span_fatal for errors (rather than `fail!`
which prints the ICE message). It also adds the span lookup when an id
doesn't correspond to a block, to show what it is pointing at.

It also makes the argument parser slightly looser, so that passing
`--pretty flowgraph` recognises the `flowgraph` part and suggests to use
an integer.
auto merge of #14324 : zecozephyr/rust/docfix, r=luqmana
auto merge of #14326 : huonw/rust/tiny-fixes, r=pnkfelix

The changes to flowgraph make invalid invocations slightly more forgiving by (trying to) provide slightly more information and by avoiding the ICE message.
libstd: Remove `~str` from all `libstd` modules except `fmt` and `str`.
libtime: Remove the `tz_zone` field from times.

It depends on `~str`.
libstd: Remove all uses of `~str` from `libstd`
libcore: Remove all uses of `~str` from `libcore`.

[breaking-change]