libc: add _SC_* consts for non-mips linux too

They was previously missing
libc: VirtualAlloc and FileMapping bindings
libc: add errno values
os: introduce cross-platform MemoryMap bindings

Basically, one may just do:

    MemoryMap::new(16, ~[
      MapExecutable,
      MapReadable,
      MapWritable
    ])

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