Description
We currently have a pulse in the ForkServer. This roughly allows for timeouts, but, depending on the timing, the parser could run for nearly 2x as long as the pulse. The other downside to our current reliance on pulse is that a parser could theoretically go forever as long as it outputs a byte within the pulse window.
Let's let users explicitly declare a max parse time, and a max wait time – how long should the server remain alive while waiting for a parse request.