Add support for the conditional-buildstep-plugin

This replaces #92, with a single DSL entry point for either single or multiple build steps, restricting of options for run conditions and step runners to configured ones, and nesting of arbitrary build steps. The latter required a minor change to AbstractContextHelper.executeInContext to allow for optionally using a different resolveStrategy, in order to make sure that the nested steps end up in the right object.