Add callback annotations to riak_core_vnode

A few concerns popped up when doing this:

* The `handoff_type()` type I added based on the code in `riak_core_vnode` differs significantly from the similar type in `riak_core_handoff.hrl`. This should be addressed.
* Based on code in `riak_core_handoff_sender`, the `encode_handoff_item/2` callback seems to be called with a term shaped like `{_, _}` as the key. This should probably be generalized so as not to crash if a new type of vnode returns `corrupted` from the callback.
* Although the comments in the module mention that `handle_exit/3` is optional, it was included in the `behaviour_info/1` function previously, so I added the callback annotation anyway.