Verify existence and correctness of torrents

Fall back to direct download if the torrent link returns an error
or the torrent seems to be defective
Make torrent verificiation optional
Dedup products

When a product was bought multiple times (through different bundles), it
will appear multiple times in the JSON data (they only used to appear
once in the pre-API indices). The filename parser will think they are
to be symlinked. Clean up this duplication in the symlink phase by not
producing symlinks for products that would link to themselves.
Refactor and fix filename extraction

Share the code and consider the fact that new links may start with the
`gamekey` key rather than just `key`.
Clarify name of non-downloadable link

Some items (e.g. _Knights of Pen & Paper +1 Edition_ from the _Humble
Bundle: PC and Android 9_) have an extra link which is not for
downloads. Print the name of the non-downloadable part so that the user
knows what they are missing.