LibsolvSolver::GetResult(): Fix package update cases

* The transaction_type(.., ..., SOLVER_TRANSACTION_RPM_ONLY)
categorization of the transaction steps is incorrect since rpm
automatically replaces an older package version when a new one is
installed and thus such package removals would be omitted. Use a
simpler check instead.
* Omit the unnecessary explicit check whether a package really has to be
installed.

Thanks to Michael Schroeder @ SUSE for his help figuring this out.
ClipToPicture test: Fixed nested states expected look.
app_server: Implemented nested clipping paths

 * The alpha mask is no longer stored with 75% more memory than needed,
   resolving a TODO.
 * AlphaMasks are now BReferenceables.
 * AlphaMasks are transferred to a pushed DrawState.
 * When an AlphaMask is set on a DrawState, it sets the previous state's
   mask to the AlphaMask. That one now takes care of updating not only itself,
   but the previous mask as well (which works recursively).
 * In AlphaMask::Generate(), a combination happens with the previous state's
   mask, which again works recursively in case the previous mask also needs
   to be updated. This step is combined with extracting the alpha channel from
   the UtilityBitmap used to play the ServerPicture.
 * Fixed some out of bounds access to memory in the "outside" case in
   agg_clipped_alpha_mask.h. This happened when the requested region was
   both before and after where the mask has data.
agg_clipped_alpha_mask.h: Partially revert previous commit.

There wasn't an out-of-bounds access, I read the code wrongly. Keep the code
in sync with the AGG version. What happens is that for x < 0 and xmax < 0,
the code will memset the x < 0 region twice, unless I am still irritated...
radeon_hd: Rework dp aux functions to take connector index

* This is less pretty, but we need access to the connector
  to find the HPD gpio pin mask on the card.
* dp_aux communications seem to work again.
* If you have a DisplayPort item attached to your card you
  may want to just unplug it at this point. We attempt DP
  link training and it fails. This failure will also cause
  other monitors to not function as app_server still isn't
  multi-head aware (#10486)
Added WIP support for affine transformations to BViews.

Everything untested, but compiles, so it must work. The idea is to introduce
BAffineTransform additionally to the existing Origin and Scale properties of
BViews. One may use it in parallel or as an alternative. Painter in app_server
is not yet aware of the additional transformation. It is however already used
to transform drawing coordinates. It probably needs to work differently,
perhaps only in Painter and AGGTextRenderer.
Remove transform again from drawing coord conversion
Fixed execute bits of AGG headers.
Implemented using the transformation in Painter (incomplete)

 * Also removed wonky BeOS rendering of stroked round rects and ellipses.
   Nobody would expect it to work like this. This affects stroked round rects
   and ellipsis with a pensize greater than 1.
 * Refactored common code from _StrokePath() and _FillPath().
 * _StrokePath() returned a curious bounding box that didn't take into
   acount the miter width. Now the bounding box is computed from the actual
   stroke conversion of the path.
ahci: Finally fixed TRIM support.

* The maximum number of allowed ranges is now taken into account.
* Still untested on my end, however, I tested the array copying code with
  a number of test data.
exfat: style fixes only
exfat: limit backup volume name to 11 characters
exfat: Set the mountpoint to same as volume name

Fixes #10501

* update copyright headers, attribute to Haiku, Inc. add authors
* volume_name gets filled out by a utility function in Utility.cpp
* update exfat_entry
  - rename name_label to just label
  - adjust volume_label to have 11 uint16 chars plus 8 uint8 reserved
  - add guid partition info
* Added a couple new entry type defines
* fName is 34 bytes long which fits the 11 3-byte UTF-8 chars and a \0
build_cross_tools_gcc4: enable posix threads.

* build kernel libgcc and libsupc++ with disabled posix threads for all
architectures. We currently change the configuration manually, as gcc
doesn't easily let us reconfigure without a full rebuild.
Revert "exfat: limit backup volume name to 11 characters"

This reverts commit c79381d32a61a570bff305744b1230100c735e22.
exfat: fix problems with hrev46820

* Set the size of the volume name member var to B_FILE_NAME_LENGTH which is the
  max width of a volume name according to the BeBook and the Support Kit code. We'll
  deal with trying to stuff the volume name back into the exfat volume label later.
* Rename volume_name() to get_volume_name()
* Pass the name string length into get_volume_name() and use it to avoid buffer overrun.
* Fill name with a blank string if volume has no label.
* Don't memset the name with zeros before doing the conversion from Unicode to UTF-8,
  the conversion function will make sure the result is NUL-terminated if it returns B_OK.
* Also check the return value of the Unicode conversion function and return an error if it fails.
* Add get_default_volume_name() method to Utility.cpp which is used to fill out the default
  volume name in the case volume name is blank. e.g. 32GiB ExFAT Volume. This now
  applies to both the volume name and mount point.
* Use non-metric prefixes for default volume name, e.g. MiB, GiB, TiB
* For an unset volume name fill the volume name with an empty string.
* Remove the leading underscore from _name and _partition parameters
* Replace size constants with sizeof() calls
* Remove Axel from the copyright statement in Utility.cpp, he had nothing to do with it,
  add Jérôme (aka korli) because he wrote the code for get_default_volume_name()
  (was in Volumes.cpp)
* Remove some trailing spaces from encodings.cpp

Thanks Axel.
exfat: small correction in comment, name not _name
exfat: recheck device size is big enough to hold fs

I didn't mean to omit this check, I just need to save deviceSize below for
get_default_volume_name() so that it will match the mount point name.

Checked to make sure the calculation works on a 2GiB, 32GiB, and 128GiB
(virtual) exfat volume.
scheduler: Update priority penalty computation in debug dump
scheduler: Update load of idle cores

In order to keep the scheduler tickless core load is computed and updated
only during various scheduler events (i.e. thread enqueue, reschedule, etc).
The problem it creates is that if a core becomes idle its load may remain
outdated for an extended period of time thus resulting in suboptimal thread
migration decisions.

The solution to this problem is to add a timer each time an idle thread is
scheudled which, after kLoadMeasureInterval, would fire and force load
update.