add ActiveSupport deep_merge method