Allow (or disallow) multiple providers of items.

Incases where a item is produced by 2+ tasks we should allow
the task that depends on that item to get the 2+ items produced
as a list of items. We can also disallow this type of production
via a new boolean option.