Improvements to WS API

This commit solves two problems:

* It solves the WS execution permutation problem, where there needs to be every permutation of every method name and body type, by making the method and body settable on the request holder, and providing a no arg execute method that uses the set method/body.
* It allows you to stream the body as an enumerator, making it very simple to pass to a response.