[WIP] Workflow build step

Changes to allow the plugin be used in a Workflow.  Would be good if @slide (et al) and @jglick could review.  In particular... look for `TODO` markers in the changes I made.  These were things I was not sure about.

Atm it works using the base 'step' step (i.e. you need to specify the $class) e.g.
```
node('master') {
	catchError {
		// Do stuff ....
	}
	step($class: 'hudson.plugins.emailext.WorkflowPublisher', recipientList: 'tfennelly@localhost', subject: 'Build failed', content: 'The build failed', attachBuildlog: true)
}
```

I pulled the workflow specific code up into an extension of `ExtendedEmailPublisher`.  I think it's cleaner this way.

Once the workflow apis are published (?) we can build a dedicated step for this, it would look something like the following (see [BuildStep-Job-with-step](https://github.com/tfennelly/email-ext-plugin/tree/BuildStep-Job-with-step))
```
node('master') {
	catchError {
		// Do stuff ....
	}
	emailext(recipientList: 'tfennelly@localhost', subject: 'Build failed', content: 'The build failed', attachBuildlog: true)
}
```

`Run` does not yet have any ways of getting dependencies. This would require a broader refactoring in core. Which could be done, though I expect many workflows to implement a complete pipeline in one `Job` (this is one of the advantages), so they would not need such a feature. There are less common cases where you would care (such as import of artifacts produced by a job maintained by a different team).