libradius(3): Sync with FreeBSD head.

Here is a summary of the changes.

* Added rad_request_authenticator() which returns the Request-Authenticator
  relevant to the most recently received RADIUS response.

* Added rad_server_secret() which returns the Shared Secret relevant to the
  most recently received RADIUS response.

* Added rad_demangle() for demangling user-passwords (needed for MS-CHAPv1
  MPPE-keys).

* Added rad_demangle_mppe_key() for demangling mppe-keys (needed for
  MPPE-keys).

* Added some typecasts for avoiding compiler warnings.

* Fix: better handle wrong usage of the lib (if the programmer has not called
  rad_create_request() but rad_put_*(), then a weird error message was
  returned).

* Added a new function for putting the Message-Authenticator.

* Verify the Message-Authenticator, if it was found inside a response packet
  and silently drop the packet, if the validation failed.

* Implicitly put the Message-Authenticator, if the EAP-Message attribute was
  added.

* Added some missing defines.

* Add simple embedded RADIUS server support to libradius, by extending existing
  API, keeping backward compatibility.

* Add binding support.

* Alphabetically sort MLINKS in the Makefile.

* Various other bugfixes.

Taken-from: FreeBSD (with small adjustments)
kernel: Unbreak vkernel64 build.
drm: Add a linux/completion.h implementation

* The drm/i915 code expect completion to be a struct containing a
  counter named 'done' and a wait queue named 'wait'

* It also expects this wait queue to be a struct containing a spinlock
  named 'lock'. Adjust the implementation in linux/wait.h accordingly.
drm: Use the Linux completion API