Fixup JvmCompile to always deliver non-None products that were required ...

...by downstream.

This change augments GroupTask with a pre_execute complement to post_execute and
uses this lifecycle point to ensure JvmCompile delivers on its promise of supply product maps
regardless of the availability of chunks in the round.  Further adds tests for the new lifecycle
as well as coverage for pre-existing un-tested always-run semantics of construct, prepare and
post-execute.

https://rbcommons.com/s/twitter/r/794/