Remove in6_clearscope and in6_setscope calls.
Simplify ifnet_has_ip6 function.
Remove in6_clearscope call and unused variable.
Use in6_getscopezone instead of sa6_recoverscope to initialize
sin6_scope_id for LLA.
Remove deembed_scopeid sysctl and related code.
Initialize sin6_scope_id using mbuf's rcvif.
No need to call sa6_recoverscope(), destination address here should
contain correct zone information.
A try to clean up ipsec code from the embedded scope ids.
Remove now unused variable.
Fix a typo.

Reported by:	melifaro
Some software use embedded form of zone ids.
Remove ids from the address and initialize sin6_scope_id.
Use sa6_recoverscope function for this.
When we are trying to find ifaddr for the specific network, and this
network has link-local scope, use its sin6_scope_id to determine
corresponding ifnet. Then just take its first link-local address.
This helps to go away from the embedded form of LLA.
Rework sa6_checkzone's checks.

RFC 3493 doesn't requre sin6_scope_id must be set for multicast addresses.
Only addresses from link-local and interface-local scopes must have it
initialized.
Add sa6_checkzone_pcb function.

Application can specify outgoing interface using advanced socket API.
E.g. IPV6_PKTINFO or IPV6_MULTICAST_IF socket options. sa6_checkzone_pcb
can be used to check a passed from application sockaddr_in6 structure and
to initialize sin6_scope_id, when socket has some of this options set.
Use sa6_checkzone_pcb() function when inpcb is known.
Return a more appropriate error code.
Rethink usage of IPV6_USEROIF flag.

We can't just use outgoing interface when destination address is
not link-reachable, because we must use gateway's layer2 address
when constructing packet. Add route information where it can be cached
and then pass it to ip6_output. Also count some errors as bad scope.
Use zone index to determine outgoing interface in syncache_respond.
Use IPV6_USEROIF flag with ip6_output when interface is known.
Compare zone indexes only when connection has link-local scope.
Use zone id from inpcb when connection has link-local scope and
caller did not specified outgoing interface.