Improve the branch cutting script
This script rewrites the branch cutting script entirely with Python to
use a library that understands YAML. This allows us to smartly parse
the YAML and manipulate the data based on well defined conditions for
supported use cases when updating jobs.
This new script also rely's on pre-commit's prettier hook to format the
YAML files after the script is run in order to maintain consistent and
human readable formatting since Python's YAML libraries strip all
formatting when loading the data stream.
This also adds Python linters to pre-commit as there is Python code
that needs to be managed now.
Issue: RELENG-152
Change-Id: I6360f3a47285197cd9a9be1e95156ea174c919ba
Signed-off-by: Thanh Ha <zxiiro@gmail.com>