Picked up changes from viewer-maint-2287

Adaptation of current merchant outbox project viewer to conform to Singularity's needs.

Adds the following commits by Merov Linden:
a5db366 MAINT-2287 : WIP : Implement a market place state
43fc74b MAINT-2287 : WIP : Fix compile issue
cb887fe MAINT-2287 : Fixed : Test the merchant/no merchant status without relying on outbox, Recreate missing outbox for a merchant, UI clean up on init.
f1934c0 MAINT-2301 : WIP : Catch a bit more 4xx and 5xx error codes, display the error code in the alert.
3fbbe6c MAINT-2301 : Fixed : Ignoring 499 timeout errors on POST (safe).
3dc6263 MAINT-2301 : Do not treat 404 errors (server returns not found) as 403 errors (forbidden, i.e. resident is not a merchant)
94039ee MAINT-2301 : Change messaging in the Merchant Outbox panel when an error happened, so not to be confused with the not-a-merchant case.
7c9cb2e MAINT-2452 : Fixed : Do not clear the cookie in IMPORT_DONE_WITH_ERRORS case so future retry have a chance to work.
67b872e WENG-618   : Added debug printout for POST and GET when InventoryOutboxLogging is turned on

Translators, you will need to update strings.xml and notifications.xml for this change.
Update/Sync in llviewermessage, makes more things auto-previewable, like in v3.
[Frosting] Modernize llpanelmsgs.* and the Popups Preferences

Makes the scrolllists multiselect, adds a disable button, rearranges the buttons, and maximizes vertical and horizontal use of real estate for scroll lists.
Finally notifications can easily be passed back and forth between the two lists
Removes the pointless alerts for explaining what "en/dis-able all" does.  If some language needs larger explanation, there's always tooltips, but it should be obvious enough without notifications.

As for code changes, this swaps a whole bunch of static functions over to boost::bind and removes includes.

Translators will need to update panel_preferences_popups.xml (and notifications.xml)