Fix up I/O, adding ByteSwap

This should probably be in libstd, but I implemented it here because I
am lazy.

It adds a ByteSwap trait and a File I/O package that only requires minor
patches to libstd (works fine on all 64-bit systems, 32-bit not so
much).