basic support for limiting concurrent job runs by parameters

this pull request adds basic support for limiting jobs with parameters to only a single concurrent run based on parameters. Runs of the job with differing parameters will still be allowed to run concurrently.