Add #[repr(u8)] on C-like enums
Use copy_memory when populating Function

This uses the LLVM memcpy intrinsics. Since we're copying to a MemoryMap, it
cannot overlap.