(PUP-2029) Add a CatalogModel for Puppet 4x

This adds the new catalog model and the start of a PCore model for
modeling the resource types.