split ChooseStep into ChooseBooleanStep and ChooseMapStep. Added (though not connected) respective linearlization strategies as static sub-classes to both steps. Added a StrategyProvider interface which will be used extensively by JumpStep, BranchStep, UntilStep, BackStep, SelectStep, etc. This will make it so that many strategies will 'go away' in that they will only fire if the respective Step is in the Traversal. This should make traversal compilation faster. Also, this makes me rethink the GlobalRegistry concept from a few pushes ago -- dah. Anywho, tomorrow will dope.