Avoid netievent allocations when the callbacks can be called directly
After turning the users callbacks to be asynchronous, there was a visible performance drop. This commit prevents the unnecessary allocations while keeping the code paths same for both asynchronous and synchronous calls.
The same change was done to the isc__nm_udp_{read,send} as those two functions are in the hot path.
Closes #2320 (closed)