Extract define_memoized_method from has_many/one
Explicitly require 'active_support' if needed

By simply calling

    require 'active_support'

nothing is loaded, except the requirements to successively
require the individual components of ActiveSupport.
Extract common code in insert_params
More documentation (62%)
Merge branch 'better-code'