Daravind/Catalog metrics storage

CatalogMetricsStorage

1) Added support to Metrics Service to store metrics in a Catalog
2) CatalogMetricsStorage only writes to Catalog from 1 (background) thread by using a ConcurrentQueue
3) Also, using 'ShouldUseDBAndCatalog' setting, metrics may be written both to DB and Catalog
4) Following settings are supported as well
     i) IsLocalCatalog - uses filesystem
     ii) CatalogPageSize and CatalogItemPackageStatsCount to determine how the Catalog is built
Or asked a different way... what exceptions *can* we recover from and what *can't* we recover from?