WIP: Introduce new artifact subcommand `delete`
This MR aims to introduce the a new
bst artifact delete subcommand.
The addition of the
artifact delete subcommand itself has been split out from !1008 (closed).
This MR adds tests to the command and further ensures that the command can handle more use-cases.
- Cherry-pick relevant commits of !1008 (closed)
- Handle deleting non-existent/non-present refs more gracefully
- Don't touch cascache.py API
- Ensure that we can delete artifacts that have been pulled without their buildtree
- Add tests for the extra use-cases