Change default installation directory to %SYSTEMDRIVE%\Rust.
Modify user PATH, rather than system PATH.
Add LLVM ExecutionEngine API
Perform compiler state reset in phase_1
Add `Copy` to bitflags-generated structures
auto merge of #19725 : vadimcn/rust/inst-path, r=alexcrichton

Change default installation directory to %SYSTEMDRIVE%\Rust.
Modify user PATH, rather than system PATH.
Rename FnStyle trait to Unsafety.
Parse `unsafe trait` but do not do anything with it beyond parsing and integrating into rustdoc etc.
Parse `unsafe impl` but don't do anything particularly interesting with the results.
Implement `unsafe trait` semantics.
Add a bunch of new tests per Alex's suggestion.
auto merge of #19703 : nikomatsakis/rust/unsafe-trait, r=acrichto

This PR allows declaring traits and impls as `unsafe`. An `unsafe` trait requires an `unsafe` impl. An `unsafe` impl does not permit unsafe code within its interior (unless that code is contained within an unsafe block or unsafe fn, as normal). The commits are standalone.

r? @alexcrichton 
cc #13231
auto merge of #19742 : vhbit/rust/copy-for-bitflags, r=alexcrichton
auto merge of #19750 : murarth/rust/rusti-support, r=brson

Makes a couple changes that support the implementation of a REPL:

* Implementation of wrapper code for LLVM ExecutionEngine API
* Fixing a change I made earlier to reset compiler state in `phase_1_[...]`
  instead of `compile_input` as the latter is not used in a REPL
Remove a ton of public reexports

Remove most of the public reexports mentioned in #19253

These are all leftovers from the enum namespacing transition

In particular:

* src/libstd/io/net/addrinfo.rs
 * SocketType
 * Flag
 * Protocol
* src/libstd/io/process.rs
 * StdioContainer
 * ProcessExit
* src/libstd/num/strconv.rs
 * ExponentFormat
 * SignificantDigits
 * SignFormat
* src/libstd/path/windows.rs
 * PathPrefix
* src/libstd/sys/windows/timer.rs
 * Req
* src/libcollections/str.rs
 * MaybeOwned
* src/libstd/collections/hash/map.rs
 * Entry
* src/libstd/collections/hash/table.rs
 * BucketState
* src/libstd/dynamic_lib.rs
 * Rtld
* src/libstd/io/mod.rs
 * SeekStyle
 * FileMode
 * FileAccess
 * FileType
 * IoErrorKind
* src/libstd/io/net/ip.rs
 * IpAddr
* src/libstd/os.rs
 * MemoryMapKind
 * MapOption
 * MapError
* src/libstd/sys/common/net.rs
 * SocketStatus
 * InAddr
* src/libstd/sys/unix/timer.rs
 * Req

[breaking-change]