title: combineAll does not emit on empty array
body: <p><a href="http://jsbin.com/potiqa/edit?html,js,console" rel="nofollow">JSBIN Sample</a></p>
  
  <p>I have a changeable set of child components (POJO object) that each have its own state stream. Each time a user triggers addChild/removeChild/clearChildren, a new set of children state streams is emitted with #switchMap. So far so good! (And so amazed by RxJS!)</p>
  
  <p>With <code>Rx.Observable.from(arrayOfStateStreams).combineAll()</code> I get a good result as long as the <code>arrayOfStateStreams</code> isn't an empty array.</p>
  
  <p>Since this is a partial state that is combined(Latest) on a higher level, I need to get an empty array emitted or the global state tree will contain old state data that is no longer true!</p>
  
  <p>I can emit some reserved token like <code>['EMPTY-ARRAY-PLACEHOLDER-TOKEN']</code>, but that's just weird.
  A better way would be to always append one last stream into the array so the last index can be considered trash. Still confusing code and state though.
  Using <code>[null]</code> is not OK, since we could have a child state of <code>'null'</code>.</p>
  
  <p>Anyone who can solve this in a good way? Can't this be supported since there should be no other representation of an empty array after #combineAll?</p>