We thought that libc::ioctl would return the result of the ioctl
syscall, but instead it returns -1 on failure and sets errno.
GemHandle shouldn't be clone, since dropping any cloned instance will
invalidate all instances.
Additionally fixed a bug in uapi::i915::find_fd where it was using a
non-owned RawFd and then closing the file descriptor at the end of the
scope of the closure.