fixed #7372 - API v2 - accept PUT/POST requests with wrapped root node to add/remove has_many associations of child nodes

previous commit bbf64d9900262e42afaec6dd84934ae601c1d4f3 only checks for has_many associations of child nodes if the request was not wrapped (no root node). Since POST/PUT is documented as wrapped, it should support this to.
Therefore, there will be two main ways to add/remove associations, either by

1) passing *_ids

{ 
   "operatingsystem": { 
      "name": "CentOs", 
      "config_template_ids": [36, 12, 40] 
  } 
}

2) Passing child nodes

{ 
  "operatingsystem": { 
     "name": "CentOs", 
     "config_templates": [ { 
           "id": 36, 
          "name": "CentOS-enabled-post" 
      }, { 
          "id": 12, 
           "name": "Grubby Default" 
      }, { 
          "id": 40, 
           "name": "Katello Kickstart Default", 
      }
     ] 
   } 
}

This method is nearly identical to ```setup_has_many_params```, could you refactor the shared code out? 
Also I concur with @ohadlevy , "magic" method is very difficult to understand, some other terminology that indicates what it is, a child association expressed as an array would be much easier to grasp. I've tried to find a proper short variable and it's admittedly difficult... :disappointed: