Don't send up all_checked checkbox IDs upto server on onselect event.

- Made changes to JS method to not send up all_checked checkboxes on onselect event, this was causing JS error when there were lots of nodes in the tree, as a result of that transaction was not being sent upto server. Made changes to set/save C&U collection based upon checkbox that was changed and sent up. Removed code that was expecting all_checked checkboxes to come in with JS transaction.
- Changed code to only call Metric::Targets.perf_capture_always if any of the "Collect for All XXX" checkboxes values were changed and only for the one that's value was changed.

https://bugzilla.redhat.com/show_bug.cgi?id=1153047
https://bugzilla.redhat.com/show_bug.cgi?id=1145799

@dclarizio please review/test. Let me know If you need db with lots of nodes to recreate the issue.
This still does a find in a loop and should probably be extracted out.

It might be cheaper to just preload all the hosts for all the clusters up front, since it's a single query, and generally there aren't a lot of Hosts.

i.e. on line 52:

```ruby
clusters = EmsCluster.where(:id => cluster_ids).includes(:hosts)

clusters.each do |cl|
  ...
  en_list = clusters.hosts.select { |h| en_ids.include?(h) }
  cl.set_perf_collection_object_list(en_list)
end
```