extend plugin to support dynamic port pool

This is an extension to the plugin, that allows jobs to depend on a pool of predefined ports. 
 - If there are free ports in a pool, a build can aquire one of them and start execution. 
 - When there are no more free ports in the pool, the subsequent builds are queued up, waiting for the ongoing builds to finish.