All builder/listener classes are moved to a new header file.
Merge OpBuilder::Listener and RewriterBase::Listener into a single class: RewriteListener. This simplifies the listeners:
- ListenerBase and ListenerBase::Kind are no longer needed.
- Type checks (to see if a builder listener or a rewrite listener is attached) are no longer necessary.
This change is in preparation of adding an attachScopedListener API to OpBuilder, which is safer than exposing setListener to the user. This will require creating a RewriterBase::ForwardingListener (now ForwardingRewriteListener); having references to RewriterBase from Builders.h would be odd.
Depends On: D155599