Add sanity check.

- The info list can in fact be NULL so we need to guard against that. This
  wouldn't currently get hit though, since the cases where the list isn't
  passed in are those where we only want a minimal frame anyways, so
  variable/return value creation wouldn't even be attempted.
Style fixes.
Cache app icons in BarInfo to make them load faster.

This turns an IO bound problem into a CPU bound problem. In my testing this
speeds up icon resizing dramatically although the CPU is quickly pegged at
100% trying to redraw the Deskbar if you whip the icon size slider back and
forth with a dozen or so apps open and soon the CPU can't keep up and Deskbar
lags behind.
Code style fixes. No functional changes.

Fix for some code style issues pointed out by Axel. Thanks.
Support %e (cur.encoding) for Terminal titles

Optional parameter %e to indicate current tab view encoding in the
window title. It is not shown in case tab view encoding is default
UTF-8. Inspired by Sergei Reznikov. Thanks.
Keep color control enabled after color scheme change

Fixes #9532
Avoid trying to set the media to Ethernet for WLAN devices.

It didn't really harm, but would always try to find a corresponding
media, fail and print an error.
Add IEEE80211_IOC_HAIKU_COMPAT_WLAN_{UP|DOWN} compat requests.

They can be supplied as request type codes to SIOCS80211 are added to
allow overcoming a difference between how Haiku and FreeBSD handle
network drivers.

In FreeBSD a device can be set into the down state but is still fully
configurable using the ioctl interface. The Haiku network stack on the
other hand opens and closes the driver on the transition form up to
down and vice versa. This difference can become problematic with ported
software that depends on the original behaviour.

Therefore IEEE80211_IOC_HAIKU_COMPAT_WLAN_{UP|DOWN} provide a way to
achieve the behaviour of setting and clearing IFF_UP without opening
or closing the driver itself.

The wpa_supplicant will use this in its BSD driver instead of actually
setting the interface down and then failing all other ioctls.
Add optional cpu state to Variable.

- Used to preserve the CPU state for variables representing return
  values, since they may potentially be retrieved from registers,
  and these might be overwritten later in the same statement.
Minor refactoring.

- Factor out a _HasExitedFrame() function.
- Reorder how/where return values are added a bit.
Handle return value CPU states.

- DwarfStackFrameDebugInfo::CreateReturnValue() now takes a cpu state
  parameter. This is attached to the associated Variable object.

- ResolveValueNodeJob() now checks if the value node child it's dealing
  with is that of a variable. If so it pulls that CpuState for the
  ValueLoader's purposes rather than the current state. This gets return
  values for multiple function calls in the same statement working.
Update NetworkSetup preflet and Interfaces add-on.

Many updates including:
* Add translation strings
* MAC address in Interface Settings Window
* Lots of layout kit improvements, works font sizes 8pt to 18pt.
* Add right-click context menu to interfaces list view.
* Make the Interfaces list view size a bit bigger.
* Wired/Wireless settings use BStringViews instead of BTextViews
  since they aren't editable.
* First interface is selected by default
Ignore calls whose purpose is to calculate the GOT address.

- Fixes several false positives where we'd show a return value for the
  current function.
Update translations from Pootle
Make a copy of the network config message and store that one.

Using the original message and storing that into the settings resulted
in a not yet fully understood deadlock. Presumably related to missing
and/or stray replies.
Implement storing persistent network configurations.

The API to add persistent networks was added back in r42807 and
r42816 but storing them was still missing.
Update wpa_supplicant to version 2.0 and bring in improvements.

* Updated to version 2.0 of vendor code.
* Reliability improvements in controlling the underlying devices.
* Implement leaving networks.
* Better timeout handling.
* Usability enhancements like cancel on escape, ok button being the
  default and the password field having focus on start.
* Storing of the password using BKeyStore.
Implement leaving networks on the net_server side.

We always try to reach the wpa_supplicant first. If it isn't running
we check if this might have been a network we've connected directly
and then just disassociate using an MLME disassociation request.
If a keyring is empty, store a no data flag instead of failing.

Any fully empty keyring (no keys and no applications) would fail to add
the empty flat buffer and thus prevent the whole keystore database from
being stored. This could easily happen when you used separate keyrings
but the master keyring was left unused for example.

Adding a flag that tells that there is no data allows us to distinguish
between a case where the stored data is missing due to a problem versus
an actually empty buffer.
Add BMessenger::SetTo() to reinitialize a BMessenger.

This allows to reuse BMessenger objects for different targets, or to
recheck validity after initial creation. With that one can use the same
BMessenger after launching an application that was previously not found
valid for example.