We already have a mapping for `errno` to `IoError` defined in libuv, so I think that this may be better described by `ExitExecError(IoError)`. I certainly don't expect this to be `UvError` because that's most certainly supposed to be an implementation detail.

It's a little odd in that most of `rustuv` doesn't deal with `IoError`s, but the process module is already wonky in terms of the errors reported by libuv, so I don't think that this is really that much of a smell. This would involve the uv callback creating `ExitExecError` with `uv_error_to_io_error(UvError(n))` or something along those lines.