Scale http output squash

This adds dynamic http output worker scaling.  It just scales as needed for now. I figure we can add limiters a little later.
So the incoming buffer holds a maximum of 100 reqiests and when the requests are written to the buffer to see how many outstanding requests are sitting on the buffer.  If there are more than 20 requests on the queue the length of the queue (n) is passed to the master worker and then the master worker spawns n more http output threads.

I chose 20 via some testing where I found that if I wanted to spawn a worker for each outstanding request I didn't want something too big (ie >50) because too many threads came along and the buffer could be approaching saturation more quickly so I settled on spawning workers when the queue was ~20 behind. 10 would probably work as well.