Drag and drop output ref

Spec: https://docs.google.com/a/dimagi.com/document/d/1TjJ3vUjH3Xc_dkYd8pKoErVFjcXkbsYlfClSlcJ9Ic0/edit#

@millerdev 
Would be great to have some tests for this logic. Actually, I'm trying to add tests for all changes to Vellum, so I'd love to see tests for the entire feature being implemented in this PR.