#25240 #25418 #25450 Tank command improvements

- Improved the error message you get if you run `tank Project foo` from a project specific tank command.
- Added support for a digits only syntax, so that the tank command will correctly find a shot named 123 when the command `tank Shot 123` is executed. If no shot named 123 is found, the tank command will fall back and assume 123 is a shogun id and use that for the lookup instead.
- Added better scoping for tasks: it is now possible to use the syntax `tank Task proj_a:Shot:123:light` to start a command for the light task for a given entity.
- The project specific tank command no longer consumes and ignores a specific project specified as part of an entity (e.g. `tank Shot proj_foo:abc123`) but instead leaves it unprocessed.

Note that this means that the behaviour of the tank command changes slightly:
- If you are currently launching entities via their ids (`tank Shot 123`) and also have your shot named numeric codes, this change means that the name suddenly takes precedence, meaning that there may be a change in behaviour as a consequence.
- If you are running project level tank commands with the extended project syntax, you may find that the queries no longer match objects. This is because previously, the project command `tank Shot foo:bar` would simply drop the hint that it is in project *foo* that we should look for bar. Now it instead ignores this and will start looking for a Shot named 'foo:bar'.
If I have more than 1 Shot named `100` across various projects, the error raised is:

```
- Did not find a Shot named '100', will look for id 100 instead.

ERROR: Cannot resolve a pipeline configuration object from Shot 100 - this
object does not exist in Shotgun!
```

Should we be instead raising a unique error when there is more than one matching name result? 
And this leads to the question, should we then exit (instead of then going on to searching ids) or also search ids after this? I think exiting is the right call since users would be searching by name more often and there is a specific syntax to specify searching by id. But I may not be "right" about this. What do you think?