Don't bother including <netinet/if_ether.h> if we're not using
"ether_ntohost()" - the only reason we include it is to get
"ether_ntohost()" declared.
We only include <net/if.h> to get "struct ifnet" in "struct arpcom"
defined on Solaris, so that we don't get errors when including
<netinet/if_ether.h>, so don't include that unless we're including
<netinet/if_ether.h>.
We only need incomplete definitions for "struct mbuf" and "struct
rtentry" if we're including <net/if.h>, so don't define them unless
we're including <netinet/if_ether.h>.