- cli.checkout: added support to revert a project, package, or file

Now, the term checkout has the following semantics:
- checking out a project or package from the api
- revert all local modifications of a project or package or file

Moreover, the checkout ui supports two different syntaxes:
- api://project/package? to newly checkout a project or package
- wc_path to revert multiple projects, packages, or files
- cli.checkout.ui: updated examples in the __doc__ str