Streams 86

Added in Reentrant read and write locks anytime the provider queue is being updated or read from. This should ensure that we do not have situations where data is lost between this provider and any subsequent components down stream from it.