Interrogate HttpServletRequest instead of context
Re-orient servlet asyncrony to trigger when enter returns nil.

This is an intermediate step towards fully removing pause and
with-pause.

Previously, asynchronous servlet behavior was triggered by the
pause-stylobate function being called from with-pause. Now, instead,
we set a servlet as asynchronous when a nil return value is
encountered on an enter function. This is accomplished by adding a
start-servlet-async function to the :async-enter function (in
enter-stylobate). When a nil context is encountered all functions in
the :async-enter vector are executed and our servlet is set to
asynchronous.
Returning a channel is now the method for serving async requests

Where we we would previously use with-pause and futures for serving async
requests, we now use core.async channels. When an enter function returns
a channel, the interceptor plumbing kicks off its own go-block to pull
from that channel. Once a new context is pulled from that channel
interceptor-chain execution is resumed and a response is returned.
Fixes test-servlet-request
Wire up channel body
Convert sse code to use channel body instead of direct access to output stream
Make sse work with channel
SSE now uses core.async instead of with-pause
Wrap sse send-event calls in go block
Updating sse_test to reflect new async model
Add test for channel use in interceptors.
Remove all trace of pause and resume. Backwards compatibility: 0.
Patch up the project file; New async version
Update a few more dependencies
Remove reflections
SSE heartbeat threads should be daemon threads
Final merge of all SSE/Async updates
Merge branch 'async-service'