Minimal ISO 9660 parser. This is not a comprehensive parser; we only
parse out the fields we care about. Extensions such as Rock Ridge
and Joliet are not supported.
Runs the provided command. The first macro argument is the executable, and following arguments
are passed to the command. Returns a Result<()> describing whether the command failed. Errors
are adequately prefixed with the full command.
Runs the provided command, captures its stdout, and swallows its stderr except on failure.
The first macro argument is the executable, and following arguments are passed to the command.
Returns a Result describing whether the command failed, and if not, its standard
output. Output is assumed to be UTF-8. Errors are adequately prefixed with the full command.