llvm_tools: Add patch_utils.py and unittests

This introduces the patch_utils.py library, which
contains various PATCHES.json and patch_manager
utilities that will be useful for future patch manager
restructuring.

In particular, patch_manager.py doesn't explain why its
patches fail, or give any information as to what is wrong with
its patch applications.

patch_utils.py provides the PatchEntry class, which is a self
contained object which can provide this diagnostic information.

This module will later be incorporated into patch_manager.py
and get_upstream_patches.py

BUG=b:188465085, b:227216280
TEST=./patch_utils_unittest.py

Change-Id: I6f6e24e6449ea68f6751fbcad14fca76c1bbaec8
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3648887
Tested-by: Jordan Abrahams-Whitehead <ajordanr@google.com>
Reviewed-by: George Burgess <gbiv@chromium.org>
Commit-Queue: Jordan Abrahams-Whitehead <ajordanr@google.com>
2 files changed