stm32: Fetch datasheets through HTTP/2
ST's CDN currently is impressively broken and most HTTP/1.1 requests just time out. This MR makes the symbol generator use HTTP/2 to check the datasheet URLs. It also changes the caching, now caching requests in a sqlite db, and retrying both failed and successful requests after three months. Previously, successful requests would be cached forever and we wouldn't notice if ST changed URLs, and failed requests would be retried every time.
This MR does not change the generated output.