_frontend/cli.py: Tweak 'try' & 'always' bst shell buildtree handling
Description
We can exit early / remove redundant attempts to fetch missing buildtrees for the try & always options of --use-buildtree. Capturing the possibility of a buildtree ever being existing before entering Stream() removes potential redundant scheduler and pull attempts.
Changes proposed in this merge request:
- When try & always are explicitly passed, don't enter Stream/warn it won't be used if the artifact never had a buildtree
- Handle the 'always' exit error in Cli instead of stream()
- Ensure current test cases pass, whilst tweaking for new changes and missing scenarios
Edited by Tom Pollard