Provide abstracted cross domain POST and GETs

Enable configuration of CORS support in device configuration. Should allow an application to transparently call a service with a JSON payload as either a GET or a POST.

For POST the payload is sent either as part of the request body (if CORS is supported) or as the value of a single form field in a multipart form request.

For GET the abstraction switches between direct and JSONP response handling