build: Ignore more build products

Closes #1465
Reviewed-by: Stef Walter <stefw@redhat.com>
ws: Cleaner building of control messages

Remove the dubios BUILD_INT logic when we want to add non-strings
to a control message, and just return a JsonObject from an interim
function which can be further modified. The simple string-only case
remains the same.
bridge: New resource2 payload protocol

This is something that several future enhancements need. We need to
send back a header payload before the actual data that can carry
information that affects the HTTP Headers of the response.

Closes #1464
ws: Simpler function for parsing cookies

We never need to parse all the cookies, we're simply looking
for one, so we can make this function a lot simpler.
ws: Add function for parsing header Languages

This is the Accept-Language header, unless a specific cookie is
defined, in which case that overrides it.
base: Add new cockpit.locale API for doing gettext()

This uses the conversion format from po2json in the nodejs packages
https://www.npmjs.org/package/po2json
tools: New po2json tool based on nodejs

Implement a new po2json tool based on nodejs which can define json
data as an AMD module. It also checks the plural forms for validity
before having cockpit.js parse it. Has an option to build an AMD
module out of the data.

We use locally installed nodejs modules and set them up during
autogen.sh.

Distribute the pre-processed javascript data in our tarball, so that
builders are not required to have nodejs installed. If they modify
po stuff in a tarball then they will get the standard autoconf
'missing' message.
ws: Choose appropriate translated files based on language

Use the Accept-Language and Cookie headers to choose translated files.
shell: Update the shell for the translation changes

This disables translation in the shell, but makes the dialog selector
box work correctly with the new localization infrastructure.
playground: Include a translated string in the playground