This makes parsing for build IDs in the markup filter slightly more
permissive, in line with fromHex.
It also removes the distinction between missing build ID and empty build
ID; empty build IDs aren't a useful concept, since their purpose is to
uniquely identify a binary. This removes a layer of indirection wherever
build IDs are obtained.
Whilst you're working on this file, please delete the blank lines between the include lists. These prevent clang-format from reordering them automatically to match the LLVM style guide. (Either in this patch, or in a separate NFC commit, no need for review).