Code simplification.

Keeping the `Action` separated from the `RunListener` makes it clear which method and constructor belongs to which. This also prevents the `build.xml` from having a gratuitous line:

    <targetType>hudson.model.AbstractBuild</targetType>