supervision: only pay the price if we do it
We don't want to pay for a double storage (using the `upstream` namespace) if we don't use it. We have to use bits of metadata and introduce an explicit supervision state: `unsupervised`, `supervised` and `handcrafted`. `handcrafted` comes from manual=True first insertion. Current semantics should be reviewed.