[Qt] payment request work - part 1

I'm going to once more dig into our payment request code to better polish and add some more things to it. This is just the start and I intend to create some small pulls and not a big one, so it's easier to review and merge. After I get an ACK for this I will add a cleanup commit to this one, which I leave out for now.

For reference the BIPs:
https://github.com/bitcoin/bips/blob/master/bip-0070.mediawiki
https://github.com/bitcoin/bips/blob/master/bip-0071.mediawiki

@laanwj Perhaps you can help me getting this done smoothly :)?
@fanquake After the initial work here, do you want to participate by converting the paymentserver and paymentrequestplus files into the doxygen format after I got ACKs :)?
The server doesn't *have* to send a `Content-Length` header. 

And it certainly shouldn't do an extra HEAD-request. This causes double the number of requests and the server may just lie on a HEAD request.

If it's possible to look at the headers *before* starting the download one could, for example, reject requests without Content-Length header or with too large content.

However, the only robust solution would be to limit the receive buffer, and bail out when it is full.