Implements RM#3311 - CmdStager selection

I'm mostly submitting this for review. I suspect it might not really be fully ready yet. It could definitely use more testing.

For modules that use the CmdStager mixin, let the end user select which CmdStager to use. Existing consumers of the CmdStager mixins have been updated to expose this new functionality and retain their previous default.

Unfortunately, this patch does not include compat flags that prevent users from shooting themselves from using a Windows CmdStager on UNIX, or vice versa. Perhaps that can be added at a later time.