Some socket options need to be tuned, so that the load testing machine
doesn't buffer too much data and produce false readings (i.e. the remote
end closing the connection too quickly).

We also don't want to make the buffer too small, as we'll end up with
undesirably slow readings.

These facts coupled with the fact that we may have rather small or large
sleep times means that we must partake of some rather complex calculations
to achieve the optimal buffer size for a given situation.

Calculation thoughts follow.

(x * 2) * (float)(s / 1000)

	x = 4096, s = 1000
	= (4096 * 2) * (float)(1000 / 1000)
	= 8192 * 1
	= 8192

	x = 16384, s = 1000
	...
	= 32768

	x = 1024, s = 250
	= (2048) * (float)(0.25)
	= 2048 * .25 == 512  /* less than x */

(x) + (x * (float)(s / 1000))

	x = 4096, s = 1000
	= 4096 + (4096 * 1)
	= 8192

	x = 1024, s = 250
	= 1024 + (1024 * 0.25)
	= 1024 + 256
	= 1280

	x = 1024, s = 125  /* 8k/s */
	= 1024 + (1024 + 0.125)
	= 1024 + 128
	= 1152  /* not enough */

(x) / (float)(s / 1000)

	x = 4096, s = 1000
	= 4096 / 1
	= 4096

	x = 1024, s = 250
	= 1024 / 0.25
	= 4096  /* full second amount */

	x = 1024, s = 125
	= 1024 / 0.125
	= 8192  /* full second amount */


