Add context pointer and source address to the UDP tunnel callback

These are needed for the forthcoming vxlan implementation. The context
pointer means we do not have to use a spare pointer field in the inpcb,
and the source address is required to populate vxlan's forwarding table.

While I highly doubt there is an out of tree consumer of the UDP
tunneling callback, this change may be a difficult to eventually MFC.

Phabricator:	https://reviews.freebsd.org/D383
Reviewed by:	gnn
Make sure SIZE is defined early
Rename elf*-powerpc into elf*-powerpc-freebsd in binutils

The powerpc support was the only supported architecture not prepending the elf format name
with "-freebsd" in base this change makes it consistent with other architectures.
On newer version of binutils the powerpc format is also prepended with "-freebsd".

Also modify the kernel ldscripts in that regards.

As a result it is now possible cross build the kernel on powerpc using newer binutils

Differential Revision:	https://reviews.freebsd.org/D926
Differential Revision:	https://reviews.freebsd.org/D928
Virtualize if_epair(4).  An if_xname check for both "a" and "b" interfaces
is added to return EEXIST when only "b" interface exists---this can happen
when epair<N>b is moved to a vnet jail and then "ifconfig epair<N> create"
is invoked there.
Only build/run hsearch_basic and hsearch_r_basic on NetBSD

hdestroy1 is not present on FreeBSD

Sponsored by: EMC / Isilon Storage Division
Expect SIGSEGV in lib/libc/stdlib/t_getenv:setenv_basic

See bin/189805 for more details

In collaboration with: pho
Sponsored by: EMC / Isilon Storage Division
Merge remote-tracking branch 'freebsd/master' into hardened/current/master