Since we store 'favorite' verbs as notices now too, they caused a lot of
"null" notices that might not be interesting before we handle them better
in the UIs.
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.