Don't advertise deflate compression support.

There is some misunderstanding on what the "deflate" is, and we can't
reliably decode it in all cases. So, don't advertise support for it and
let servers use gzip (or no compression) instead.

Fixes #11093
Bookmark bar uses "Bookmark bar" subfolder

* Allows having a lot of bookmarks in the menu, and only the most often
used ones in the bar.
* If the "Bookmark bar" folder doesn't exist, the old behavior (using
the main Bookmarks folder for the bar as well as the menu) is used.
* If none of these exists, the bookmark bar will not be available (just
like the bookmark menu)

Fixes #11092.

We may want to update the default set of bookmark to include some links
in the bar.
Factor out a BNetworkRequest

* Shares common behavior between the Gopher and HTTP request handlers.
* Most of this can be used when implemeting other protocols.
Move signal hack to BNetworkRequest

* This is used to unlock sockets when a read is pending after a close
* It is not needed on requests that don't use a socket.
Data URIs: don't decodewith invalid length..
Make URL decoding even more solid.

* Thanks to korli for pointing remaining issues.
UrlRequest: fix race condition

* The thread could set fRunning to false before the caller had set it to
true, leading to a stalled request.
* Happened easily when testing "data" requests, which are fast since no
I/O is involved.
* Possibly also helps with stalled redirects on Google search I've been
seeing for some time.
HttpTest: use BReferenceable APIs for the BUrlContext.
Add tests for data URIs.
smpeg: update to a version with a working libstdc++ dependency.

Stop-gap solution to make smpeg installable until the separate libstdc++
package is available. Then it will hopefully have a reliable "compat"
version we can depend on.