[r=wallyworld],[bug=1306208] Copied from John's original MP.
https://code.launchpad.net/~jameinel/juju-core/1.18-scp-multiple-args-1306208/+merge/215301
This changes how "juju scp" parses its arguments, to restore the ability to put flags in more places on the command line.
This does the 'expand' logic differently. If something looks like it starts with an identifier: then it tries to expand it (like it did previously). But it allows that to happen anywhere in the args list, rather than all but the last arg.
The one thing we don't support (but we didn't support before, either), is "juju scp 0:foo myhost:bar", because we always lookup the stuff before the : as a PublicAddress lookup.
I'm not sure that this is 100% perfect, but I do think it is a step in the right direction.
I'm targetting 1.18.1 because I think the behavior of 1.18 is a regression from 1.16 since old command lines no longer work.