[active_record, shout_namespacing] Sigh. So ActiveRecord implements a completely different #change function. We can’t override it by including Observable.

- Start over again.
[shout_namespacing] Try to get away from name collisions as much as possible.

- run_callbacks -> run_shout_callbacks (ActiveRecord also has a method called run_callbacks)
- update_with_event -> update_with_shout_event
[shout_namespacing] Try to get away from name collisions as much as possible. cont.

- observer_list -> shout_observer_list
[shout_namespacing] Store class names as symbols rather than the actual constants. Check them only when starting to run the callbacks.

- observer_classes -> observer_class_names
- observes= check on Listener becomes a push to a duplicate list of class names on the observed class.
- steal constantize from Rails, so we don’t have to have Activesupport as a dependency.