Client provides methods that the Juju client command uses to interact with models stored in the Juju Server.
NewClient creates a new `Client` based on an existing authenticated API connection.
Abort aborts an existing branch to the model.
AddBranch adds a new branch to the model.
BranchInfo returns information about "in-flight" branches. If a non-empty string is supplied for branch name, then only information for that branch is returned. Supplying true for detailed returns extra unit detail for the branch.
CommitBranch commits the branch with the input name to the model, effectively completing it and applying all branch changes across the model. The new generation ID of the model is returned.
HasActiveBranch returns true if the model has an "in-flight" branch with the input name.
TrackBranch sets the input units and/or applications to track changes made under the input branch name.