libnative: fix epoll_event struct layout

Make the definition of epoll_event use natural alignment on all
architectures except x86_64.

Before this commit, the struct was always 12 bytes big, which works okay
on x86 and x86_64 but not on ARM and MIPS, where it should be 16 bytes
big with the `data` field aligned on an 8 byte boundary.
auto merge of #12003 : bnoordhuis/rust/sizeof-epoll-event-fixup, r=brson

Make the definition of epoll_event use natural alignment on all
architectures except x86_64.

Before this commit, the struct was always 12 bytes big, which works okay
on x86 and x86_64 but not on ARM and MIPS, where it should be 16 bytes
big with the `data` field aligned on an 8 byte boundary.
Move semver out of libextra.

Done as a part of #8784.

Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
Remove unnecessary trailing commas.
auto merge of #12013 : Hywan/rust/doc, r=sanxiyn
std: Remove io::io_error

* All I/O now returns IoResult<T> = Result<T, IoError>
* All formatting traits now return fmt::Result = IoResult<()>
* The if_ok!() macro was added to libstd
extra: Remove io_error usage
syntax: Remove io_error usage
rustc: Remove io_error usage
compiletest: Remove io_error usage
glob: Remove io_error usage
green: Remove io_error usage
native: Remove io_error usage
rustuv: Remove io_error usage
rustdoc: Remove io_error usage
rpass: Remove io_error usage
std: Fix tests with io_error usage
extra: Fix tests with io_error usage
native: Require all results are used and fix fallout
rustuv: Require all results are used and fix fallout