Move MSI initialization before IO-APIC to fix missing init.

Initializing the IO-APIC will initialize the PCI module, which does
read the MSI config of the devices only when MSIs are available.
Since we initialized them only after that, that condition wasn't met.
Later, due to the uninitialized arch info, MSIs were still marked as
available (0xcc = 204 MSIs). Due to the also uninitialized configured
count, they were always deemed busy however, in effect just breaking
MSI support whereever IO-APICs were available.
Add MSI support to OHCI.

It looks like VirtualBox assumes MSIs when emulating a 64bit system so
this gets OHCI working there. Shouldn't harm if it's used anywhere else
either.
Reverse the meaning of BWindow fShowLevel to match BView.

This also matches the client_window_info.show_hide_level field used in Deskbar
and other applications.

While doing this, keep fShowLevel fully in sync between BWindow and app_server,
use one message type for both hiding and showing, and make the decision to show
and hide the window in the app_server.

Lastly make minimize behave as described in the Be Book: hidden windows cannot
be minimized, and minimized windows which get hidden become unminimized.
Update translations from Pootle
Some more string translations.

A few more translator changes I missed with last commit.
Added a few more strings for translation, pointed out by diver.
Thanks!
Simplify use of translated strings in BAboutWindow.

* avoid duplicate initialization of variables by joining the
  expressions.
Fix #8841 (broken localization support for 3rd-party apps).

* made private Catalog.h header public by moving it to 
  os/locale/tools/CollectingCatalog.h
* reintroduce B_COLLECTING_CATKEYS define (which is expected to be set
  during a collectcatkeys session) in order to decide whether or not
  to automatically include the CollecingCatalog.h header from Catalog.h
* adjust jam rule for collecting catalog keys accordingly
Cleanup: avoid warning about returning a value in void context.
Fix build.
Update translations from Pootle
Reverting part of hrev44535.

Renaming "Preferences" to "Tracker preferences" has been
unexpectedly contentious. Reverted.
Update translations from Pootle
Update userguide from i18n.haiku-os.org.
Add WebPositive catalogs to gcc2hybrid images. Fixes #8846.
Increase the size of the nightly images.
Tracker: Double-Click simplification

Double-click check was redoing what is essentially already done in input_server.

The way we were doing it, right clicking (or pressing a different button for the second click,
for that matter) wasn't clearing the fields remembered and thus not breaking the sequence.
So a third click returning to the correct sequence (in a short time) would get recognized
as a valid second click.  So a quick left-right-left would be seen by that method as left-left.

Also, clean up a previous fix I committed.  Removed the introduced Origin() method as it
is the LeftTop() method I was interested in and it is already existing.

Fix #8714
Set the Terminal window flags correctly when going fullscreen.

Fixes #8862.
Make strcmp do four byte comparisons on aligned strings.

Used libMicro's strcmp test to evaluate performance:
OPTS="-E -C 200 -S -W"
bin/strcmp	$OPTS -N "strcmp_10"	-s 10	-I 10
bin/strcmp	$OPTS -N "strcmp_100"	-s 100	-I 20
bin/strcmp	$OPTS -N "strcmp_1k"	-s 1k	-I 50
bin/strcmp	$OPTS -N "strcmp_10k"	-s 10k	-I 800
bin/strcmp	$OPTS -N "strcmp_1m"	-s 1m   -I 500000
bin/strcmp	$OPTS -N "strcmp_10m"	-s 10m  -I 5000000

Before:
             prc thr   usecs/call      samples   errors cnt/samp     size
strcmp_10      1   1      0.02510          201        0    10000       10
strcmp_100     1   1      0.17520          169        0     5000      100
strcmp_1k      1   1      1.67700          177        0     2000     1024
strcmp_10k     1   1     17.24800          194        0      125    10240
strcmp_1m      1   1  17892.00000          160        0        1  1048576
strcmp_10m     1   1 183136.00000          201        0        1 10485760

After:
strcmp_10      1   1      0.01800          194        0    10000       10
strcmp_100     1   1      0.13540          190        0     5000      100
strcmp_1k      1   1      1.24950          188        0     2000     1024
strcmp_10k     1   1     12.85600          190        0      125    10240
strcmp_1m      1   1  12930.00000          170        0        1  1048576
strcmp_10m     1   1 134382.00000          195        0        1 10485760
Fix ticket #8870.

- multicast_address was being freed twice in ipv6_uninit_protocol(),
  causing a panic on exit in apps that made use of it.
Fix multicast double free issue in IPv4.

- IPv4 had the same problem as v6. Most likely this was an oversight
  when converting from a C to a C++ module. Might help with #6736 and
  #8894.