Fix BrooklynTypes.loadDefinedBrooklynType
Adds MutableSet.copyOf(iterator)
Extract AbstractMain to remove duplication

- CLI tools (Main and CloudExplorer) extend AbstractMain
Add @Catalog annotation
Deprecate unused GeneralPurposePolicy
Adds ItemLister for getting entities etc
Creates first-pass at outputting entities, policies, locations and locationResolvers
Styles HTML output
Sorts output
Improve @Catalog descriptions
Tidy up main items page:
 * use ‘cards’ instead of tables, with underscore templates
 * replace brooklyn-esque navbar with bootstrap tabs for categories
Remove redundant stuff.
Move common javascript to separate file. Clean up child pages.
Merge and close PR #128