gcore(1): Make it work again.

Two commits broke things:

64fce751acfda11e21846e900fc774e88f32f52e which changed us to no longer
claiming that we're FreeBSD in core files.

0b684e3f9af3abc5ded676c43a1a5a478b45325c which added another field to
/proc/<pid>/map (the vnode path for vn-backed vm objects).

Both changes need adjustments in gcore(1).
Remove unused header.
Remove some more unused headers.
x86_64 mptable - maximum lapic id is 64

 * In x86_64, lapic ids with HT can be up to 64, not 32 as in i386.

Reported-by: Mihai Carabas, Francois Tigeot
acpidump - be a bit more lenient and don't assert

 * Asserting in this case causes the dump not to continue, although it
   is safe to do so.

Reported-by: Mihai Carabas
mptable - use the table's cpu_flags

 * Sometimes the CPUs are marked as disabled in the APIC table, and for
   good reason (e.g. a machine having only 24 cores, but 32 appearing in
   the APIC table, 8 of them disabled).

 * Just in case, provide an override that falls back to the old
   behaviour. This is the tunable hw.lapic_force_enable. It will force
   all lapic entries to be marked as enabled. It is however not the
   default.

 * When parsing, don't error out when a lapic id is invalid (255) but it
   is disabled.

Reported-by: Mihai Carabas, Francois Tigeot
Merge branch 'master' into gsocdrm_jfree
ciss(4): Sync with FreeBSD.

Tons of good stuff. MPSAFEness, MSI interrupts, better performance,
and a lot more (I'm too lazy to go through FreeBSD's logs :P).

Support for a number of adapters has been added, too:

* HP Smart Array P220i
* HP Smart Array P222
* HP Smart Array P420
* HP Smart Array P420i
* HP Smart Array P421
* HP Smart Array P700m
* HP Smart Array P712m
* HP Smart Array P721m
* HP Smart Array P822

I've tested it with a HP Smart Array P212.

Many thanks to FreeBSD.
ciss.4: Document some tunables.
tcp: Add TSO support for IPv4

It is implemented mainly according to NetBSD's TSO implementation.

Following stuffs are only in DragonFly
- Add comment about devices' expected behaviour upon PUSH and FIN flags
  Obtained-from: Microsoft's LSO online document
- Don't use TSO, if there are SACK or DSACK blocks to report
- Don't use TSO, if congestion window needs validation
- Don't use TSO, if URG flag is to be set
- Take IP and TCP header sizes into consideration when calculate the
  large TCP segment size
- Pseudo checksum for the large TCP segment is calculated using only
  source address, destination address and IPPROTO_TCP according to
  Microsoft's LSO online document.  This fashion of pseudo checksum
  calculation seems to be adopted by several NIC chips.

Several driver helper functions are added:
- tcp_tso_pullup(), which extracts IPv4 and TCP header's location and
  length.  And make sure that IPv4 and TCP headers are in contiguous
  memory.
- ether_tso_pullup(), in addition to what tcp_tso_pullup() does, it
  also extracts ethernet header's length and make sure that ethernet,
  IPv4 and TCP headers are in contiguous memory.

Sysctl node net.inet.tcp.tso could be used to globally disable TSO.
TSO is by default on.

tso/-tso are added to ifconfig(8), which could be used to enable or
disable TSO on the specific interface.
ixgbe: Unbreak compile
bnx: Add TSO support

Obtained-from: FreeBSD if_bge.c

For TSO header information, ether_tso_pullup() is used instead of
making our own wheel.

BNX_TSO_DEBUG is added to help testing various TCP parameters tuning
tools: Add toeplitz, which calculate toeplitz on given addresses/ports
tcp: Increase tcp_sosend_agglim from 2 to 3

This change makes better use of TSO.

When 2 is used, most of the large TCP segments' size are 2*MSS or 3*MSS.
When 3 is used, most of the large TCP segments' size are 4*MSS or 5*MSS.

The math is quite simple, given 1448B segment size:
2 == 4096B == 2 segments
3 == 6144B == 4 segments

Increasing it to a higher value improves single full speed stream's CPU
utilization, but does not have much effect on multiple streams'.
kernel: remove O_ROOTCRED

* This flag was DragonFly-specific and effectively unused

* Removing it frees up flag space for interacting with the rest of the world

* Partially fixes issue #2357
kernel: remove O_FRNONBLOCKING

* Like O_ROOTCRED it was effectively unused and removing it frees up
  a precious bit among the various O_xxx flags

* Partially fixes issue #2357
open - implement O_DIRECTORY
open.2 - document O_DIRECTORY
implement linkat
linkat(2) man page