More code review tweaks:
More code review tweaks:

1. Moved the ExitOnDrop init to the beginning of kernel_upcall
2. Add a comment explaining why Subscribe compares the return variant
   against FAILURE_2_U32 rather than SUCCESS_2_U32
3. Change Subscribe's error handling to follow more of a "guard clause"
   pattern, where an error is returned and normal execution occurs outside
   the if statement.
4. Tweak the upcall check to use usize, as a raw pointer was unnecessarily
   verbose.

tock/libtock-rs