Add VirtIO console driver

Support for the multiport feature is mostly implemented, but currently
disabled due to some potential races in the hot plug code paths.

Requested by:	marcel
MFC after:	1 month
Relnotes:	yes
Add netinet/in.h for struct sockaddr_in

Sponsored by: EMC / Isilon Storage Division
Expect getgroups_err to fail on FreeBSD

PR: 189941
Submitted by: pho
Sponsored by: EMC / Isilon Storage Division
Port t_pipe2.c to FreeBSD

- Omit the pipe2_nosigpipe testcase on FreeBSD (FreeBSD doesn't have
  O_NOSIGPIPE).
- Convert "fcntl(n, F_CLOSEM)" to "closefrom(n)".
- Save and restore the resource limit on the number of files (RLIMIT_NOFILE).

In collaboration with: pho
Sponsored by: EMC / Isilon Storage Division
Convert "fcntl(n, F_CLOSEM)" to "closefrom(n)"

Submitted by: pho
Sponsored by: EMC / Isilon Storage Division
- Mark unused parameters __unused in handler
- Call sigqueue with getpid() instead of 0 -- the latter idiom appears to only
be valid on NetBSD

In collaboration with: pho
Sponsored by: EMC / Isilon Storage Division
Add limits.h #include for LINE_MAX

Sponsored by: EMC / Isilon Storage Division
Add sys/socket.h #include for struct sockaddr_in

Sponsored by: EMC / Isilon Storage Division
Port t_mmap.c to FreeBSD

- Add needed headers for the testcases
- Omit mmap_block on non-NetBSD OSes
- Use "security.bsd.map_at_zero" instead of "vm.user_va0_disable"

Submitted by: pho
Sponsored by: EMC / Isilon Storage Division
Omit the pollts testcases on FreeBSD

Sponsored by: EMC / Isilon Storage Division
Omit all of the testcases as revoke(2) is only implemented on devfs(5)

Submitted by: pho
Sponsored by: EMC / Isilon Storage Division
Mark signo __unused in handler(..)

Sponsored by: EMC / Isilon Storage Division
- Omit the poll testcases on FreeBSD (they require pollts)
- Add necessary headers for the testcases

Sponsored by: EMC / Isilon Storage Division
Add limits.h #include for INT_MAX

Sponsored by: EMC / Isilon Storage Division
Use <atf_srcdir>/truncate_test.root_owned instead of /usr/bin/fpr as fpr does
not exist on FreeBSD

truncate_test.root_owned will be generated at build time and owned by root

In collaboration with: pho
Sponsored by: EMC / Isilon Storage Division
- Mark sig/signo __unused
- Do not provide a relative path via #include "h_macros.h"

Sponsored by: EMC / Isilon Storage Division
- Omit setrlimit_nthr testcase on FreeBSD (requires lwp.h, et al)
- Expect overflow with rlim_max at INT64_MAX, not UINT64_MAX (rlim_t is int64_t
on FreeBSD)

In collaboration with: pho
Sponsored by: EMC / Isilon Storage Division
Add limits.h #include for SSIZE_MAX

Sponsored by: EMC / Isilon Storage Division
Add limits.h #include for SSIZE_MAX

Sponsored by: EMC / Isilon Storage Division
Fix a typo (__FreeBSD__ -> __NetBSD__ when omitting setrlimit_nthr)