Explicitly name garbage collection strategies.

JVM releases change the default behavior as to whether certain
strategies are enabled by default or not.  We want to control for
this by calling out the strategies and explicitly enabling and
disabling them on an as-needed basis.

*DONOTMERGE*: Pending discussion.
these shouldn't be necessary as we do (assigned.isPresent ? assigned.getValue : default.getValue) essentially in JvmFlagSet.Builder.build().