charm: refactor URL vs Reference

This is a breaking change, so move package path to charm.v3.
There are already tests for InferURL that I haven't removed. I *think* those should be sufficient.