Migrate to webpack 5, use caching on builds.

Summary

Building assets in pipelines is taking a long time.

Webpack 5 should support caching to the filesystem out of the box.

The cache can be published as an artifact, and reused across builds.

records will allow consistent hash names on chunks/modules so the client would only need to re-download assets that change. (better performance in production likely)

the clean option is supported in webpack 5, and will allow builds to clean up old/unused files.

gotchas

`

Edited by Sean Gregory