There were some differences between defaults for the
NoticeStream::getNoticeIds() function and some of its subclasses'
implementations. So, I got them rationalized.
Added filtering code so that notice streams check notice scope.
Added new class to implement filtering a stream, FilteringNoticeStream.
Added a subclass that does the logic for checking Notice scope.
And made all the streams use ScopingNoticeStream.