webRequest block fixes

outgoing messages from this block now include better response data:

body: if json, it's unmarshalled, other formats are strings (xml, csv) that can be later parsed.
headers: any headers returned, like Content-Type etc.
status: ideally a 200 OK ;)

I updated the tests, which now include POST and GET requests with JSON and XML incoming data.

this closes #488