Fix float to float ToPrimitive implementation.

The mimimum (negative) value of a float is -Bounded::max_value(), not Bounded::min_value().
Make std::rt::io::extensions public

This works around #9779, but is probably the right thing to do anyways
since that's the module where all of the documentation for those traits
lives.
Correct code examples for base64 documentation
Forbid modifications of strings in the compiler

This disallows `str[0] = foo` along with `foo = &mut str[i]` to prevent strings
from being modified at runtime (except possibly through the `str` module)

Closes #8891
auto merge of #9386 : Geal/rust/base64-doc, r=alexcrichton

Standard is now uppercase in the base64 module, and from_base64 now returns a Result
Implement io::native::file
Implement io::native::stdio
Implement io::native::process
Don't abort if the runtime is run twice.

This changes an `assert_once_ever!` assertion to just a plain old assertion
around an atomic boolean to ensure that one particular runtime doesn't attempt
to exit twice.

Closes #9739
auto merge of #9742 : alexcrichton/rust/issue-9739, r=brson

This changes an `assert_once_ever!` assertion to just a plain old assertion
around an atomic boolean to ensure that one particular runtime doesn't attempt
to exit twice.

Closes #9739
auto merge of #9750 : alexcrichton/rust/safer-strings, r=brson

This behavior was decided to get out-right forbidden by the compiler


Closes #8891
syntax: allow macros to expand to items with attributes.

Fixes #4471.
auto merge of #9774 : sebcrozet/rust/master, r=huonw

The minimum (negative) value of a float is `-Bounded::max_value()`, not `Bounded::min_value()`.
Otherwise the following has an incorrect behavior:

```rust
let a = -1.0f64;
let b: f32 = NumCast::from(a); // incorrectly returns None
```
auto merge of #9780 : sfackler/rust/extensions2, r=alexcrichton

This works around #9779, but is probably the right thing to do anyways
since that's the module where all of the documentation for those traits
lives.
auto merge of #9783 : huonw/rust/macro-items, r=bstrie

Fixes #4471.
Implement rt::io::stdio

Additionally, this moves the prelude imports of print/println from std::io to
std::rt::io.

Closes #6846
Implement BufferedReader.{read_until, read_line}

These two functions will be useful when replacing various other counterparts
used by std::io consumers.
Move std::run off of std::io

This changes the implementation to instead use rt::io::native::process as well
as an example of using those bindings.
Migrate users of io::fd_t to io::native::file::fd_t
Remove usage of io::FILE_writer