Support plugins extending Webpack build pipeline; Build translations from openproject-translations

This PR concerns itself with two related, but separate themes:

### Support plugins extending Webpack build pipeline
https://community.openproject.org/work_packages/5697
https://community.openproject.org/work_packages/17241

#### Notes for review:

* Webpack will not bundle plugins (and fail silently) if a `Gemfile.lock` is inconsistent (for example, if there are conflict makers). I'm not how/if we should make this more obvious.

* Shelling out from node to Ruby is currently done **synchronously**, which is not really _the node way_, but I wasn't really sure how to handle callbacks in the webpack config.

###  Build translations from openproject-translations, if available
https://community.openproject.org/work_packages/14679

#### Notes for review:

* You can specify an `OPENPROJECT_TRANSLATIONS_ROOT` if you want to
  test this PR without adding openproject-translations as a dependency.

  e.g.

        OPENPROJECT_TRANSLATIONS_ROOT=../openproject-translations webpack -c`

---

See also 
* finnlabs/openproject-backlogs#114
* finnlabs/openproject-costs#115
I see... you have to get the output from ruby to js. No clean solution for that comes to mind. We could wrap it all in function that one can call with parameters. If no param is provided, nothing happens. The provided parameter specifies the means for transporting the information. But that would basically still be the same puts statement. Could be an ENV variable just the same but this does not make it better.