Split arpresolve() into fast/slow path.
This change isolates the most common case (e.g. successful lookup)
from more complicates scenarios. It also (tries to) make code more simple by avoiding retry: cycle.
The actual goal is to prepare code to the upcoming change that will
allow LL address retrieval without acquiring LLE lock at all.
Reviewed by: ae
Differential Revision: https://reviews.freebsd.org/D3383