Preserve canonical labels as such (#1863)
**What type of PR is this?**
Bug fix
**What package or component does this PR mostly affect?**
label
**What does this PR do? Why is it needed?**
Previously, parsing and then stringifying a label would turn
`@@canonical~name//pkg:target` into `@canonical~name//pkg:target`, which
is no longer valid.
The new field on `Label` defaults to `false` if not set, which preserves
the current behavior.
**Which issues(s) does this PR fix?**
Fixes #1862
**Other notes for review**
2 files changed