Extract AbstractMain to remove duplication

- CLI tools (Main and CloudExplorer) extend AbstractMain
Add @Catalog annotation
Deprecate unused GeneralPurposePolicy
Adds ItemLister for getting entities etc