Refactoring .reflections public method.

Now the internal reflections will hold a reference to its public
representation, so when the outside world calls `Account.reflection` we
can build a list of public reflections.

Conflicts:
	activerecord/lib/active_record/associations.rb
	activerecord/lib/active_record/counter_cache.rb
	activerecord/lib/active_record/reflection.rb