initial commit
Should be using a BuildStepMessage instead of the build step, since they're going to be coming over the wire and won't be resolved yet.
syncing up the BuildStepMessage and and the BuildStepContext in terms of the type of Parameters
getting parameters to be populated correctly
adding the ability to add parameters from within a plugin
testing WorkService
refactoring work so that it doesn't return the result, rather the result it set on the context by the plugin. This allows plugins to have a little more control on the final result (i.e. allows the plugin to overwrite the value)