Expose more circuit state-change events to controllers
We currently send CIRC
events to controllers that request them when a circuit is created, extended by one hop, or finished. Now that we send detailed information about circuits' purposes and states in those events, we should allow controllers to ask for notification events when circuits' purposes or states change, too.