Initial merge into juju repository

This PR is the initial merge of previous work into the juju/jujusvg repository.
Do we need to export this type?
Ditto for Relation.