Improve common distZip-style code

This change is a refactoring to get the common distZip style code into
a better state.  There are 4 distZip-style containers; Ratpack, Spring
Boot, generic distZip, and Play Framework.  Those containers (except
for the massively complicated Play Framework one) now extend off of a
DistZipLike container that contains most of their functionality.  This
means that implementations of this style of container (likely to show
up more and more) only need to implement detection algorithms and id
values (some would output with a version, others not).

In addition, this sorts out a bug where the distZip container was
incorrectly detecting for Ratpack applications.

[#69332450]
Merge 69332450-dist-zip to master

[Completes #69332450]
Merge remote-tracking branch 'upstream/master'

Conflicts:
	.idea/dictionaries/bhale.xml