update generics for CatalogItem so it can supply a Spec, and add BrooklynCatalog.createSpec deprecating the loadClass methods