Introduce new lock in stream & fix bug
 - use new lock (instead of reusing prod_lock) to support update prod_sd/cons_sd
 - fix bug: trivial, LpelStreamConsumer/Producer should check if stream
   is null