Configurable node constraint

Add an option to grab executors on different nodes. This is useful for jobs which need more than 1 slave. In our case we're using this to do distributed execution of unit tests in a large project.