Don't abort the process in native::start

If the main closure failed, then the `exit_code` variable would still be `None`,
and the `unwrap()` was failing (triggering a process abort). This changes the
`unwrap()` to an `unwrap_or()` in order to prevent process abort and detect when
the native task failed.
auto merge of #11313 : alexcrichton/rust/fix-native-failure, r=pcwalton