drm/i915: Fix flickering screen issues on some laptops

Reported-and-tested-by: luxh
kernel - Reduce console spam in verbose mode when printing cpu sets

* Add helper function kprint_cpuset().

* Print cpu ranges when printing out cpu sets.

* Print cpu ranges when generating topology output for sysctl
kernel - Add lwkt_cpusync_quick()

* Add a quick one-stage cpusync function to complement our two-stage
  interlock/deinterlock cpusync functions.

  The one-stage version doesn't have to spin the target cpus, only the
  originating cpu, but it can't quiesce the cpus either whereas the
  two-stage version can.
kernel - Add two features to improve qemu emulation (64-bit only)

* Implement a tunable for machdep.cpu_idle_hlt, allowing it to be
  set in /boot/loader.conf.  For qemu the admin might want to set
  the value to 4 (always use HLT) instead of the default 2.

* Implement a tunable and new sysctl, machdep.pmap_fast_kernel_cpusync,
  which defaults to disabled (0).  Setting this to 1 in /boot/loader.conf
  or at anytime via sysctl tells the kernel to use a one-stage pmap
  invalidation for kernel_pmap updates.  User pmaps are not affected and
  will still use two-stage invalidations.

  One-stage pmap invalidations only have to spin on the originating cpu,
  but all other cpus will not be quiesced when updating a kernel_map pmap
  entry.  This is untested as there might be situations where the kernel
  pmap is updated without an interlock (though most should be interlocked
  already).

  This second sysctl/tunable, if enabled, greatly improves qemu performance
  particularly when the number of qemu cpus is greater than the number of
  real cpus.  It probably improves real hardware system performance as well,
  but is not recommended for production at this time.
kernel - More verbose boot de-spamming

* Try to fit common package siblings print lines into 80 columns.