Add support for a few more devices:

PNP0510 and FUJ02E5 for a  "Wacom Tablet at FuS Lifebook T"
PNP0502 and PNP0511 for some other generic devices.

PR:		kern/173357
Submitted by:	Andrey Zakharchenko <avz@jscc.ru>
Approved by:	cperciva (implicit)
MFC after:	1 week
MFV: less v453.
rtld: Fix fd leak with parallel dlopen and fork/exec.

Rtld did not set FD_CLOEXEC on its internal file descriptors; therefore,
such a file descriptor may be passed to a process created by another thread
running in parallel to dlopen() or fdlopen().

No other threads are expected to be running during parsing of the hints
and libmap files but the file descriptors need not be passed to child
processes so add O_CLOEXEC there as well.

This change will break fdlopen() (as used by OpenPAM) on kernels without
F_DUPFD_CLOEXEC (added in July). Note that running new userland on old
kernels is not supported.

Reviewed by:	kib
Revert r228695. We use __func__ here as a format to distinguish between
abort and assert. It would be cleaner to use NULL or "" here, but gcc
complains in both cases.
Catch up with r242520. s/maxusers/maxbikesheds
Revert previous commit.
TX EDMA debugging fixes:

* Do the calculation for each ath_buf, rather than just the first
* Correct the calculation in the first place.
Back out r242262.  The simplified window change/update logic wasn't
complete and ready for production use.

PR:	kern/173309
Clear IFF_DRV_OACTIVE if any slots were completed.

This unblocks TX EDMA under high load.
Sync with domain and protosw data structures.

Reviewed by:	glebius
fuse_io* must be able to crunch also VDIR vnodes.
Update assert appropriately.

Reported and Tested by:	flo
MFC after:	2 months
X-MFC:		241519,242536
A clarification to the behaviour of the active vnode list management
regarding the vnode page cleaning.

In collaboration with:	pho
MFC after:	1 week
Fix build with clang: properly terminate comment even in #if 0 blocks.

Submitted by:	dim
Add a jitter buffer in the common USB serial driver code which
temporarily stores characters if the TTY buffer is full when
used a as a console. This can happen when a console is suspended.
Also properly do the flow stop signalling when this happens and
flow start when the condition changes back to normal again.

Bump __FreeBSD_version to force external kernel modules
to be recompiled. No kernel API changes.

MFC after:	1 week
Suggested by:	ed @
sh: Change cmdtype in tblentry from short to signed char.

If this is a smaller type than int anyway, we can make it the smallest
possible.
Fix a minor typo.
Fix a few warnings from newer clang 3.2 in libpmc, about comparing enum
pmc_event values against integer constants which fall outside the enum
range.

Reviewed by:	fabient, sbruno
MFC after:	3 days
In sys/contrib/ngatm/netnatm/msg/uni_ie.c, fix a few warnings from newer
versions of clang 3.2, about comparing enum uni_cause values against
integer constants which fall outside the enum range.  No functional
change.

MFC after:	3 days
After years of hard work by many FreeBSD and LLVM developers, make
clang the default compiler on i386 and amd64 systems.

Special thanks to:	dim, ed, rdivacky
Remove duplicate const specifiers in many drivers (I hope I got all of
them, please let me know if not).  Most of these are of the form:

static const struct bzzt_type {
	[...list of members...]
} const bzzt_devs[] = {
	[...list of initializers...]
};

The second const is unnecessary, as arrays cannot be modified anyway,
and if the elements are const, the whole thing is const automatically
(e.g. it is placed in .rodata).

I have verified this does not change the binary output of a full kernel
build (except for build timestamps embedded in the object files).

Reviewed by:	yongari, marius
MFC after:	1 week