Handling 403 and 405 Status Codes

Issue 219 explains that the naive link checks based upon a http HEAD request sometimes fail, e.g. for links to amazon.com:

For example: (`curl -I performs a HEAD request)

<snip>

curl -I https://www.amazon.de/dp/3446443487
HTTP/2 405
server: Server
content-type: text/html;charset=UTF-8

</snip>

This is clearly a false negative, as the URL itself is correct and the page exists.

Proposed Approach

{plantumldir}GET after HEAD failapproach

Reason for this "double check" is to keep the transmitted data volume low (and performance higher).

The general behavior we implement shall be the following `

if (responseCode in successCodes) then return
else {

    // try GET
    connection.setRequestMethod("GET")
    int finalResponseCode = connection.getResponseCode()

    switch (realResponseCode) {
        case warningCodes: println "real warning $responseCode"; break
        case errorCodes: println "real error $responseCode"; break

        default: println "Error: Unknown or unclassified response code"
    }
}