[cli / main] Support allocating ports at via run command

At least for our use case, it's important to be able to run our main app environment in the foreground since we need to be able to throw "pdb"s in & actually capture the tty.

It doesn't look like there's currently tests around the "run" command, at least in the `CLITestCase` - let me know if you would like me to implement those as part of this pull request.