librustc: back::link::sanitize support esacpe_utf8
librustc: apply changes of char::escape_unicode
auto merge of #7488 : yichoi/rust/sanitize_utf8, r=huonw

back::link::sanitize support escape_utf8
fix #7486
libc: VirtualAlloc and FileMapping bindings
libc: add errno values
os: introduce cross-platform MmapChunk bindings

Basically, one may just do:

    MmapChunk::new(16, ~[
      MmapExecutable,
      MmapReadable,
      MmapWritable
    ])

And executable+readable+writable chunk of at least 16 bytes size will be
allocated and freed with the result of `MmapChunk::new`.