More powerful requesttourl

`requestToUrl` has now more abilities: generates request as well as responses, throws if called with unknown operation, and allows adding additional parameters to query (needed for RelayState)