Add Groovy container

This change adds a Groovy container for running un-compiled Groovy
applications.  The detection algorithm for detection of Groovy
applications is a 5-part test and is documented.

[#51899913]
Merge 51899913-groovy-container to master

[Completes #51899913]
Solve variable ordering problem

Previously, the Groovy tests relied on an enumeration that resulted in
a predictable order.  This order was not actually predictable.  This
change removes that dependency.

[#51899913]
Merge 51899913-test-failures to master

[Completes #51899913]
Merge commit '66b41c2df649d514629a8d9ef1a77eda94d61748'