PackageInstaller: Unbreak selecting custom install folders.

BFilePanel always sends B_CANCEL when it hides (as documented in the BeBook),
not just when the user cancels the file panel. Track what message we expect
and only react to B_CANCEL when it means the user really canceled selecting
the target folder.
Gravity: Add break fixing white option
Fix missing break statement (CID #1108253)
Use delete[] on array (CID #701816)
ARM: Simplify board specification

* Don't assume verdex as it isn't clear this was
  occurring.
* Make an educated guess on HAIKU_BOOT_PLATFORM
  based on provided board (but still allow it to
  be overridden)
* Error out if user doesn't populate
  HAIKU_BOOT_PLATFORM or enters an unknown board
  name.
* You need to add "-sHAIKU_BOOT_BOARD=xxx" to
  your jam to build for the proper ARM device.
* Rename beagle to beagleboneblk as per the
  documentation.
Font.cpp: Style cleanup

 * Unify asterisk style
 * switch indentation style of FontList declaration
 * Order FontList methods according to declaration
 * Use named constants in default BFont constructor for spacing and encoding.
Font: Work on support for spacing modes.

 * Change default spacing to B_BITMAP_SPACING. The BeBook does not document
   what the default spacing is, and I have no BeOS install handy to check.
   However, I believe that B_BITMAP_SPACING is what should be the default,
   since it gives the best visible result for the common use-case.
   In terms of implementation, there is no change, since spacing was ignored
   until now and the behavior was that of B_BITMAP_SPACING. This change could
   however break BeOS apps which assume B_CHAR_SPACING is the default and don't
   set it on new when they need it. Sample code in the BeBook however shows
   setting B_CHAR_SPACING on a newly created BFont.
 * Implement B_STRING_SPACING to do something sensible. The BeBook documentation
   is completely vague in what it is actually supposed to do. Given the
   possibilities of FreeType, I am implementing it to enable the use of
   kerning. Kerning optimizes the spacing between two glyphs, for example, it
   would decrease the spacing between "T" and "e" in the string "Test" for
   our default font. Untested.
TabDecorator: Move tracing output into tracing statement...
app_server: Fix applying current scale when font changes.

 * The code path actually used when the client uses BView::SetFont()
   is DrawState::ReadFontFromLink(), where it forgot to a) adopt the
   original font size in fUnscaledFontSize and b) scale the font by the
   current combined scale. Fixes remaining part of #10578.
app_server: Implemented support for B_CHAR_SPACING.

It doesn't yield quiet the expected results, yet. When hinting is turned on,
FontEngine takes a measurement of the precise advance values for each
cached glyph by invoking FT_Load_Glyph() with the FT_LOAD_NO_HINTING flag,
before loading the glyph for real without that flag. In GlyphLayoutEngine.h,
the precise advance value is used for B_CHAR_SPACING. The intended result
is that glyphs are rendered hinted (according to global Appearance settings),
but spaced along the base-line with precise, unhinted advance values. An
application would use this for example to implement precise page or print
preview and also for zooming text without altering the placement of glyphs.
For Gobe Productive, problems can be observed, because we don't implement this
correctly, yet.
app_server: Fixed B_CHAR_SPACING mode.

Since fonts are cached with a precision of one digit after the decimal point
for the font size, the char spacing values needs to be more precise. They are
now in font face units and scaled by the font size during layout. This yields
the expected results of the text positioning scaling smoothly along the base
line, even though the actual (hinted) glyph shape does not change with each
small change of the scale (or font size).
test app_server: Fix build & add font spacing test.
ARM: Add ARMv6 or older __sync_synchronize built-in

* On ARMv6 or older, we do a simulated dsb.
* Move __sync_synchronize into thread.c in libroot
  and use the new arch_atomic.h dsb/dmb defines.
* Gets arm @bootstrap-raw to end of bootstrap.
ARM: Break apart ARMv5 and older dsb/dmb

* Add isb just because.
* pdziepak pointed out that ARMv5 and before
  had different barrier support.
* pdziepak also mentioned that dsb was too strong
  for __sync_synchronize
ARM: Fix dmb opcode 2 on ARMv6

* Typo, also fix tabs
* Sorry for the spam, this should be correct now
radeon_hd: Fix app_server bt regression introduced at hrev46862

* We adjusted the array of pointers to be larger, but
  didn't adjust the malloc to be larger.
* Should solve #10563 and maybe #10536
ARM: Name beagleboneblk back to beagle

* Pulkomandy pointed out that all Beagle hardware is
  very similar so we could likely get away with a single
  ARM target board.
Fix AMD CPU selection in generic_x86 kernel add-on

* The AMD-part of the add-on is supposed to reject some very old
  models. However, a bug in the selection code caused it to reject
  anything with model-number smaller 9 regardless of model-family.
  This caused MTRR setup to not happen on many AMD CPUs and Haiku
  being very slow on these machines.

* Fixes #10571
app_server: Fixed build with tracing enabled.
app_server: Fixed issues in Painter.

 * DrawPolygon was offsetting coords to pixel centers
   regardless of whether the polygon was stroked or
   filled, leading to wrong results for filling. Now
   it offsets for stroking only and even takes pen-size
   into acount. The bug was visible in Gobe Productive's
   selection rendering.
 * Renamed _Transform() methods to _Align(), which fits
   better with what they do: Align coordinates with the
   pixel grid.
 * Changed rounding behavior for StrokeLine. Offsetting
   to pixel centers depending on pen-size happens regardless
   of sub-pixel mode. This means a stroked line on integer
   coordinates looks the same in both modes. It breaks
   some drawing in WonderBrush (brush cursor), which was
   exploiting the previous behavior, but unbreaks Gobe
   Productive caret rendering at zoom levels below 150%.

Both changes bring Gobe Productive text editing to a useable
level.