Field study of fiber-local storage

Expanding on the Athena use case a bit, each request (which has its own fiber) should have its own container. However when the request has a keep-alive header, the fiber is re-used so I explicitly have a line that does Fiber.current.container = ADI::ServiceContainer.new within the HTTP::Server proc.

I haven’t really thought too much about how fibers that you spawn while processing a request are handled tho given I haven’t really heard of any use cases related to that. But, it could make sense to share the same container so that you could have access to the same state. Tho at this point it would make sense to have an Athena specific version of spawn to handle this.