Introducing intermediate types for storing charm data.

The intermediate type for charm.Meta, charm.Config, charm.Actions and charm.Metrics
decouple the storage of charms in state from changes in the charm package.