Throttling agent

Implements a simple agent that lets you throttle the degree of parallelism by limiting the number of work items that are processed in parallel.