code: function followControlRecursively( controlRef ) {
           return followControl( controlRef )
              .then( controls => Promise.all(
                 [ Promise.resolve( controls ) ].concat( controls.map( followControlToControls ) )
              ) )
              .then( flatten );
        }
docs: ///////////////////////////////////////////////////////////////////////////////////////////////////// 
  Collect meta information about the given control, and about all controls it references, recursively.
  Skip collection if the control has already been processed (returning an empty result array).
  
  @private
  @param {String} controlRef the control reference (relative to `paths.controls`) to follow
  @return {Promise<Array>}
  a promise for an array of control-meta objects for this control, including the control itself