title: Optional synchronization of IP:s in NoFlo component
body: <p>I am writing a component that has one required IP and three optional IPs. The catch is that even though the three latter IPs are optional, at least one of them is required. It looks something like this:</p>
  
  <pre><code>@inPorts.add 'search_term', new noflo.InPort datatype: 'string'
  @inPorts.add 'category1', new noflo.InPort datatype: 'boolean'
  @inPorts.add 'category2', new noflo.InPort datatype: 'boolean'
  @inPorts.add 'category3', new noflo.InPort datatype: 'boolean'
  </code></pre>
  
  <p>So, basically, the component should perform a search in some (at least one!) category or combination of categories.</p>
  
  <p>The problem is that the component has to wait until it has gathered data from all connected inputs, then search and send the result forward.</p>
  
  <p>I have looked into the <code>wirePattern</code> / <code>groupedInput</code> helpers but I cannot figure out if this type of optional grouping is supported. Am I missing something trivial here? Is there an easier way of achieving this behaviour? I have also looked some into the <code>required</code> option on IPs, but haven't got it working.</p>