Factor out actual application request dispatching in a wrappable method

This moves the actual logic to dispatch requests into the applications into a separate method.

This method can be wrapped when some action has to be wrapped around the actual application communication with Starman. We're having a case where we have to do some odd things at that point, and due to things like streaming responses handling this in the application itself or on a layer above Starman is a lot more complicated. This patch makes it easier to have such behavior in the right spot when necessary.