Implement some forwarders which are used by active_enum

Conflicts:
	lib/active_record/acts_as_relation.rb
Allow acts_as_relation to work where the superclass does not have enumerated attributes but the subclass does.

Conflicts:
	lib/active_record/acts_as_relation.rb
Fix registration of derived class enumerations.

Conflicts:
	lib/active_record/acts_as_relation.rb
Fix code structure reorganisation.
Fix reflection upon the derived class. The superclass relations should be there.

Conflicts:
	lib/active_record/acts_as_relation.rb
Actually apply the forwarding.

Conflicts:
	lib/active_record/acts_as_relation.rb
Implement column_for_attribute for compatibility with simple_form
Implement lazy delegation of properties from the child to the super class.

This has better support for timestamping since we use the lower-level *_attribute methods.
Implement an override for touch because the column which we are touching might be defined in our superclass.
When saving the record, ensure that the superclass is saved also. This is necessary if the child class is not timestamped.
Set the inverse of the relations for the subclass.
Simplify the code using class_eval and a block without the need for a code text block.
Editor fail.
Merge branch 'lowjoel-paranoia-compatibility'

Conflicts:
	lib/active_record/acts_as_relation.rb
Merge branch 'lowjoel-simple_form-compat'
Merge branch 'lowjoel-fix-nested-form-compat'
Merge branch 'lowjoel-active_enum-compat'