Use ByteOrder methods instead of free-standing functions
Fix comment formatting
Merge the Bitwise and ByteOrder traits into the Int trait

This reduces the complexity of the trait hierarchy.
Remove `#[stable]` attribute from free-standing endian conversions and mark them as deprecated
Shorten endian conversion method names

The consensus on #14917 was that the proposed names were too long.
Update doc comment for Int trait
librustc: Use expr_ty_adjusted in trans_overloaded_call.
Revamp TaskBuilder API

This patch consolidates and cleans up the task spawning APIs:

* Removes the problematic `future_result` method from `std::task::TaskBuilder`,
  and adds a `try_future` that both spawns the task and returns a future
  representing its eventual result (or failure).

* Removes the public `opts` field from `TaskBuilder`, instead adding appropriate
  builder methods to configure the task.

* Adds extension traits to libgreen and libnative that add methods to
  `TaskBuilder` for spawning the task as a green or native thread.

Previously, there was no way to benefit from the `TaskBuilder` functionality and
also set the scheduler to spawn within.

With this change, all task spawning scenarios are supported through the
`TaskBuilder` interface.

Closes #3725.

[breaking-change]
Fallout from TaskBuilder changes

This commit brings code downstream of libstd up to date with the new
TaskBuilder API.
Reject double moves out of array elements

Fixes #14986.
Vim: highlight escapes for byte literals.
Vim: highlight invalid characters in char literals.
Fix FIXME #5275

Issue #5275 was closed, but there still was a FIXME for it.
Fix #14865

Fixes a codegen bug which generates illegal non-terminated LLVM block
when there are wildcard pattern with guard and enum patterns in a match
expression. Also refactors the code a little.

Closes #14865
debuginfo: Add test case for issue 14411.
(doc) Change search placeholder text.

Update placeholder text to make keyboard shortcuts more apparent.
Update compiler-rt to work for non-v7 arm.
Deprecate the bytes!() macro.

Replace its usage with byte string literals, except in `bytes!()` tests.
Also add a new snapshot, to be able to use the new b"foo" syntax.

The src/etc/2014-06-rewrite-bytes-macros.py script automatically
rewrites `bytes!()` invocations into byte string literals.
Pass it filenames as arguments to generate a diff that you can inspect,
or `--apply` followed by filenames to apply the changes in place.
Diffs can be piped into `tip` or `pygmentize -l diff` for coloring.
Revert bytes!() docstring change, and fix a typo.
Merge conflicts from the rollup

Closes #14480 (vim: Add :RustRun and associated commands)
Closes #14917 (Deprecate free-standing endian conversions in favor of methods on Int. Merge Bitwise into Int and add more bit operations.)
Closes #14981 (librustc: Use expr_ty_adjusted in trans_overloaded_call.)
Closes #14989 (std::task - Revamp TaskBuilder API)
Closes #14997 (Reject double moves out of array elements)
Closes #14998 (Vim: highlight escapes for byte literals.)
Closes #15002 (Fix FIXME #5275)
Closes #15004 (Fix #14865)
Closes #15007 (debuginfo: Add test case for issue #14411.)
Closes #15012 ((doc) Change search placeholder text.)
Closes #15013 (Update compiler-rt.)
Closes #15017 (Deprecate the bytes!() macro.)