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)
Bugfix: When a remote address was added to an endpoint,
a source address was selected and cached, but it was not
stored that is was cached. This resulted in selecting
different source addresses for the INIT-ACK and COOKIE-ACK
when possible.
Thanks to Niu Zhixiong for reporting the issue.

MFC after: 1 week
Improve reference counting of EXT_SFBUF pages attached to mbufs.

o Do not use UMA refcount zone. The problem with this zone is that
  several refcounting words (16 on amd64) share the same cache line,
  and issueing atomic(9) updates on them creates cache line contention.
  Also, allocating and freeing them is extra CPU cycles.
  Instead, refcount the page directly via vm_page_wire() and the sfbuf
  via sf_buf_alloc(sf_buf_page(sf)) [1].

o Call refcounting/freeing function for EXT_SFBUF via direct function
  call, instead of function pointer. This removes barrier for CPU
  branch predictor.

o Do not cleanup the mbuf to be freed in mb_free_ext(), merely to
  satisfy assertion in mb_dtor_mbuf(). Remove the assertion from
  mb_dtor_mbuf(). Use bcopy() instead of manual assignments to
  copy m_ext in mb_dupcl().

[1] This has some problems for now. Using sf_buf_alloc() merely to
    increase refcount is expensive, and is broken on sparc64. To be
    fixed.

Sponsored by:	Netflix
Sponsored by:	Nginx, Inc.
cxgbe(4): Add an iSCSI softc to the adapter structure.
Whitespace changes.

MFC after: 1 week
Avoid hardcoding "gcc" in the DTrace tests.

At least one test doesn't work yet without gcc, however gcc is
not always available in base. Using the environment compiler
is more trustable and will also work with an external compiler.

Reviewed by:	markj
MFC after:	3 days
The month's name shall not be abbreviated.
Allow up to 512K for boot code on GPT with BIOS. As pmbr.s says in a comment,
"545K should be enough for any boot code". This rounds down slightly.

Reported by:	Matthew Fuller
MFC after:	2 weeks
Automatically build and link DTrace USDT probes.

This completely replaces bsd.dtrace.mk which never worked reliably.

MFC after:	3 weeks
Remove _DTRACE_VERSION from sdt.h.  It will now come from the command line
(bsd.dep.mk).

MFC after:	3 weeks
Move iic.h to sys/ so that it's automatically installed in /usr/include/sys.

This lets us call iic(4) ioctls without needing the kernel source code
and follows the same model of GPIO.

MFC after:	3 weeks
Optimisation: replace ${_D:R} with just ${_D}.

MFC after:	3 weeks
Expose in_pcbbind_check_bindmulti() so the upcoming IPv6 RSS changes
can be made to use it.
Add some hash types for UDP RSS for both IPv4 and IPv6.

Nothing is yet using this but I'd like to reserve these values.
Add RSS hashing awareness for IPv6 and TCP IPv6 hash types.
Add the IPv6 versions of the multi-bind, hash/hash type and RSS options.
Add INP_RSS_BUCKET_SET awareness for IPv6 pcbgroup entries.

This ensures that a listen socket with INP_RSS_BUCKET_SET set will use
the pre-determined PCBGROUP rather than what the hashing path chooses.
Add IPv6 flowid, bindmulti and RSS awareness.
Revert r268543.

We should probably fix sys/gpio.h instead.