Implement some forwarders which are used by active_enum

Conflicts:
	lib/active_record/acts_as_relation.rb

Conflicts:
	lib/active_record/acts_as_relation/access_methods.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 after class reorganisation
We should not join, but we should use includes() and references()
Merge remote-tracking branch 'remotes/origin/lowjoel-implement-config'
First step to extracting the functionality of this branch for compatibility with other gems.
Merge remote-tracking branch 'remotes/origin/lowjoel-active_enum-compat'

Conflicts:
	lib/active_record/acts_as_relation/access_methods.rb
	lib/active_record/acts_as_relation/acts_as_modules.rb