MULE-7197: Decoupling Producer interface from List

The Producer interface has a return type of List<T> for the produce() method. This was fine for its original intent but as its uses keep growing we need something more generic.
The method signature should change to simple T produce() and replace T with a List when necessary