Declarative Observer Patch (9900)

This patch adds a declarative syntax to the activerecord observer,
rather than simply defining callback methods. A more detailed
description and an example can be found at http://dev.rubyonrails.org/ticket/9900.
I personally think it is improvement on the current observer, however,
I will need a few people to agree with me first. :slight_smile: