(PUP-514) Accept Resource, or Type[Resource] when forming relationship
This makes forming relationships possible using either a
Types::PResourceType (or hostclass type) and a
PType[Types::PResourceType].
This was changed to allow Puppet::Resource to have the same semantics
as a PResourceType. (Currently 3x expressions produces instances
of PResourceType as the result of a resource expression, this is not
transformed back to a PResourceType, instead it is inferred to be
Type[Reource].