Refine privacy error messages to be more accurate

This stops labeling everything as "is private" when in fact the destination may
be public. Instead, the clause "is inaccessible" is used and the private part of
the flag is called out with a "is private" message.

Closes #9793
Allow stage0 warnings
remove the rusti command

Closes #9818
Closes #9567
Closes #8924
Closes #8910
Closes #8392
Closes #7692
Closes #7499
Closes #7220
drop the linenoise library

Closes #5038
Removed the -Z once_fns compiler flag and added the new feature directive of the same name to replace it.
Changed the frame_address intrinsic to no longer be a once fn.
This removes the dependency on once_fns from std.
Fixed example comment for num::cast().
auto merge of #9891 : alexcrichton/rust/allow-warnings, r=brson

Closes #9754
Rewrite vec.contains() to be simpler
Implement new methods vec.starts_with()/vec.ends_with()
Rewrite str.starts_with()/ends_with() to be simpler
auto merge of #9863 : csainty/rust/issue-9755-once-fns-feature-directive, r=alexcrichton

Hello,

First time rust contributor here, please let me know if I need to sort out the contribution agreement for this.

I picked issue #9755 to dip my toe in the water, this pull request isn't quite complete though as I have not updated the documentation. The reason for this is that I haven't tracked down why this feature is gated so I don't feel I can write a justification of the same quality as the other features have been documented.
If someone would like to explain or point me at a mail thread I am happy to update with this change.

Hopefully I have understood the process of converting the old flag into a directive correctly.

Also just to call out what I am sure if a known quirk when adding feature directives, you can't build this code unless you have a snapshot of the compiler which knows about the feature directive. Chicken and the egg. I split the change into two commits, the first should be able to build a snapshot that can compile the second.
auto merge of #9897 : thestinger/rust/rusti, r=alexcrichton

Closes #9818
Closes #9567
Closes #8924
Closes #8910
Closes #8392
Closes #7692
Closes #7499
Closes #7220
Closes #5038
auto merge of #9900 : hatahet/rust/master, r=alexcrichton

Closes #9870
auto merge of #9907 : kballard/rust/vec_ends_with, r=alexcrichton
Register new snapshots
auto merge of #9908 : alexcrichton/rust/snapshots, r=thestinger
partially fix immediate rvalues

The code generation previously assumed a reference could not alter the
value in a way the destructor would notice. This is an incorrect
assumption for `&mut`, and is also incorrect for an `&` pointer to a
non-`Freeze` type.

Closes #7972
auto merge of #9902 : thestinger/rust/immediate, r=nikomatsakis

The code generation previously assumed a reference could not alter the
value in a way the destructor would notice. This is an incorrect
assumption for `&mut`, and is also incorrect for an `&` pointer to a
non-`Freeze` type.

Closes #7972
rm rusti from `Makefile.in`
auto merge of #9915 : thestinger/rust/rusti, r=thestinger