Add ability to change the requirement for retry

e.g. if using 'Failure' state to indicate an error in build process,
but 'Unstable' indicates a test failure, the job does not need to be retried.

Includes a test.
Merge pull request #40 from tagged/change-retry-condition

Add ability to change the requirement for retry
Revert "use RunExecution, not AbstractBuild, as flow don't require a workspace and run on master as flyweight task"

This reverts commit 444097d65ecb97c92005b3acd63db8e03bdeb6a3.

Workspace is helpful and allows behavior necessary for some workflows.