charm: allow open relations in bundles

Prompted by Kapil, this removes one unnecessary incompatibility between the
legacy bundle format and the new format, and also makes
it easy for users to specify relations in the way that they
are used to doing. The inferEndPoints code is copied from
migratebundle and will be deleted from there in a subsequent PR.

This also means that the existing migration code can become simpler.
The bundles specification will be updated accordingly.
too many twos, even if you take out the spare it's still quite tricky to parse, but I can't think of anything better.