c_str: Add new method .as_str() -> Option<&str>

Also rustify .as_bytes(), so it no longer calls libc::strlen() and is
inlineable.
auto merge of #8540 : cmr/rust/rustdoc_ng, r=catamorphism

This doesn't enable it by default yet, or include the frontend. But the tool
is pretty much done, and it'd be nice to stave off bitrot.

I couldn't get it to actually build with the Makefile though. I don't really
understand what is going on in that makefile at all. Could @graydon or
@pnkfelix lend a hand?
auto merge of #9220 : kballard/rust/c_str-as_str, r=thestinger

Also rustify .as_bytes(), so it no longer calls libc::strlen() and is
inlineable.
Pass OS to gyp_uv
Ignore failing tests on Android
auto merge of #9121 : sanxiyn/rust/arm, r=alexcrichton

Ignore failing tests on Android to prepare for #9120.
extra::json: use a different encoding for enums.

It now uses `{"type": VariantName, "fields": [...]}`, which, according to
@Seldaek, since all enums will have the same "shape" rather than being a weird
ad-hoc array, will optimize better in javascript JITs. It also looks prettier,
and makes more sense.