ULE 2.0:  - Remove the double queue mechanism for timeshare threads.  It was slow    due to excess cache lines in play, caused suboptimal scheduling behavior    with niced and other non-interactive processes, complicated priority    lending, etc.  - Use a circular queue with a floating starting index for timeshare threads.    Enforces fairness by moving the insertion point closer to threads with    worse priorities over time.  - Give interactive timeshare threads real-time user-space priorities and    place them on the realtime/ithd queue.  - Select non-interactive timeshare thread priorities based on their cpu    utilization over the last 10 seconds combined with the nice value.  This    gives us more sane priorities and behavior in a loaded system as    compared to the old method of using the interactivity score.  The    interactive score quickly hit a ceiling if threads were non-interactive    and penalized new hog threads.  - Use one slice size for all threads.  The slice is not currently    dynamically set to adjust scheduling behavior of different threads.  - Add some new sysctls for scheduling parameters.
ULE 2.0:
 - Remove the double queue mechanism for timeshare threads.  It was slow
   due to excess cache lines in play, caused suboptimal scheduling behavior
   with niced and other non-interactive processes, complicated priority
   lending, etc.
 - Use a circular queue with a floating starting index for timeshare threads.
   Enforces fairness by moving the insertion point closer to threads with
   worse priorities over time.
 - Give interactive timeshare threads real-time user-space priorities and
   place them on the realtime/ithd queue.
 - Select non-interactive timeshare thread priorities based on their cpu
   utilization over the last 10 seconds combined with the nice value.  This
   gives us more sane priorities and behavior in a loaded system as
   compared to the old method of using the interactivity score.  The
   interactive score quickly hit a ceiling if threads were non-interactive
   and penalized new hog threads.
 - Use one slice size for all threads.  The slice is not currently
   dynamically set to adjust scheduling behavior of different threads.
 - Add some new sysctls for scheduling parameters.

Bug fixes/Clean up:
 - Fix zeroing of td_sched after initialization in sched_fork_thread() caused
   by recent ksegrp removal.
 - Fix KSE interactivity issues related to frequent forking and exiting of
   kse threads.  We simply disable the penalty for thread creation and exit
   for kse threads.
 - Cleanup the cpu estimator by using tickincr here as well.  Keep ticks and
   ltick/ftick in the same frequency.  Previously ticks were stathz and
   others were hz.
 - Lots of new and updated comments.
 - Many many others.

Tested on:	up x86/amd64, 8way amd64.

jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase