Merge pull request #129 from abayer/resolvestrategy

Move all *Context classes from being static/inner classes
mark 1.20 as incompatible with previous versions
Add support for conditional-buildstep-plugin

With transparent support for single and multiple steps, restricted
options for run conditions and build step runners, and nesting of
arbitrary build steps, rather than hardcoded to just support a few.