Import libucl 0.4.0
Import libucl version 2014-05-14 (almost 0.4.1)
This bring ucl_lookup_path (xpath like for ucl objects)
Make the description of the "no_prefer_iface" flag easier to understand.

Reviewed by:	Silence on -net@ and from ume@
sh: Consistently treat ${01} like $1.

Leading zeroes were ignored when checking whether a positional parameter is
set, but not when expanding its value. Ignore leading zeroes in any case.
strfmon: reduce unnecessary snprintf.

No need for the snprintf/asprintf dance; use fixed width formats.

Obtained from:	NetBSD (CVS rev. 1.8)
MFC after:	1 week
Clear nonblock and async on devctl close instaed of open.

This is a purely cosmetic change.
Add bsd.dtrace.mk to obsolete files.

MFC after:	3 weeks.
sh: Correctly handle positional parameters beyond INT_MAX on 64-bit systems.

Currently, there can be no more than INT_MAX positional parameters. Make
sure to treat all higher ones as unset to avoid incorrect results and
crashes.

On 64-bit systems, our atoi() takes the low 32 bits of the strtol() and
sign-extends them.

On 32-bit systems, the call to atoi() returned INT_MAX for too high values
and there is not enough address space for so many positional parameters, so
there was no issue.
Merge several equal serialization indexes.
Fix performance problems with AXGE network adapter in RX direction:
- Remove 4 extra bytes from the ethernet payload.
- The maximum RX buffer was incorrectly set. Increase it to 64K for
now, until the exact limit is understood.
- Enable hardware checksumming again.
- Make hardware data structure packed.

MFC after:	3 days
Turn off blinking device leds at attach.

MFC after:	3 days
PR:		183735
Add a headphone redirection quirk for the Lenovo G580.

MFC after:	1 week
Unbreak with gcc.

I'm tired to see tinderbox spamming.  Feel free to fix it your way.
Whitespace.
* Use the volatile qualifier for 'tiny' to prevent compilers
  from erronously constant folding expressions of the form
  '1 - tiny'.  This allows erf[f](x) to raise INEXACT.

* Use 0.5, 1, and 2, which are exactly representable in radix-2
  floating point formats.  This reduces diffs between s_erf[fl].c.

* While here, add a comment about efx and efx8.
* Update the comments that refer to erf[c](nan) and erf[c](+-inf)
  to use erf[c]f.
* Use 9 digits instead of 11 digits in efx and efx8.

* Update the domain and range of comments for the polynomial
  approximations, including using the the correct variable names
  (e.g., pp(x) instead of p(x)).

* Use hex values of the form 0x3e0375d4 instead of 0x1.06eba8p-3,
  which was obtained from printf("%.6a").

* In the domain [0.84375, 1.25], qa(x) can be reduced from a 4th
  order polynomial to 3rd order.

* In the domain [1.25,1/0.35], sa(x) can be reduced from a 4th
  order polynomial to 3rd order.

* In the domain [1/0.35, 11], the 4th order polynomials rb(x) and
  sb(x) can be reduced to 2nd and 3rd order, respectively.
Implement pmap_unwire().  See r268327 for the motivation behind this change.
* Makefile:
  . Add s_erfl.c to building libm.
  . Add MLINKS for erfl.3 and erfcl.3.

* Symbol.map:
  . Move erfl and erfcl to their proper location.

* ld128/s_erfl.c:
  . Implementations of erfl and erfcl in the IEEE 754 128-bit format.

* ld80/s_erfl.c:
  . Implementations of erfl and erfcl in the Intel 80-bit format.

* man/erf.3:
  . Document the new functions.
  . While here, remove an incomplete sentence.

* src/imprecise.c:
  . Remove the stupidity of mapping erfl and erfcl to erf and erfc.

* src/math.h:
  . Move the declarations of erfl and erfcl to their proper place.

* src/s_erf.c:
  . For architectures where double and long double are the same
    floating point format, use weak references to map erfl to
    erf and ercl to erfc.

Reviewed by:	bde (many earlier versions)
Eliminate an unused variable.  Refresh two comments.