[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 :)?
@laanwj I found that code:
<pre>
void MainWindow::on_download_button_clicked(){
    QUrl url("http://someurl");
    QNetworkAccessManager * manager = new QNetworkAccessManager(this);
    connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(getHeaders(QNetworkReply*)));
    manager->head(QNetworkRequest(url));
}

void MainWindow::getHeaders(QNetworkReply * reply){
    if (reply->operation() == QNetworkAccessManager::HeadOperation){
        int content_length = reply->header(QNetworkRequest::ContentLengthHeader).toInt();
    }
}
</pre>

Perhaps we can just start by querying the headers, check the content length and abort if it's > BIP70_MAX_PAYMENTREQUEST_SIZE?