Revert profile reference revision

I think I made a mistake.  A cluster, when created, must refer to an
existing version of a specific profile, i.e. a profile.id.  This is
required because later on a user may directly request a resize operation
on the cluster.  Such a resize request won't carry any profile id
information, so it must come from the cluster itself.

In addition to this, the profile implies a type info already.  In
certain cases, it can be treated as the 'desired version' of a profile
type, for 'convergence'.