Add "preview" data descriptor to layer objects
Refactor catalog tree for layer.preview
Remove unneeded scope property
Unique source of trust for layer preview
Better error handling in catalog directive

Thanks @gjn for catching the regressions I introduce.