Make stricter decisions when handling translation specifications.

In particular, disallow specifications containing addresses of
different address families when rule doesn't specify one, for
example "pass out nat-to { ::1 1.1.1.1 }" will now produce an
error instead of silently picking one of the addresses.

sthen and deraadt agree
Explicitely specify address family when translation pool may contain
addresses of different address families.
O_NOFOLLOW would be very nice to have here if the version of linux
we are running supports it.
from enh@google.com
pf_translate doesn't use the mbuf argument anymore.

From Alexandr Nedvedicky <alexandr ! nedvedicky at oracle ! com>.  Thanks!