Decouple variantlist

This originated out of a desire to set metadata to a variant list (e.g. a set of points would be named something specific like StasmPoints), and then a MetaTransform would restrict a Transforms access to only a the metadata belonging to that set.  The goal of this would be we wouldn't need to worry about RectFromPoints, for example, using points that we didn't want it to.

It didn't get that far, but it did introduce a toVariantList convention that I noticed @imaus10 needed.  It simplifies flat, and should be useful in the future.  @imaus10 sorry that I didn't push this before!