Changes to show tag category only once for each base class.

- Changed TAG_CLASSES to be a hash and then use invert on it in order to use each model only once to add tag categories for them, having base class more than once in that array was causing duplicate entries in the pull down.
- Added spec test for model_details method to make sure values in the pull down are uniq.

https://bugzilla.redhat.com/show_bug.cgi?id=1160209
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.
- Renamed set_perf_collection_object_list method to perf_capture_enabled_host_ids= changed it's caller to only send up list of host ids marked for collection for a cluster. Removed querying for hosts in controller.
- Removed code that was setting @temp[:cl_recs], it was not required to store Cluster Objects in @temp.
- Removed comment that no longer applies to the code.
- Added spec tests for perf_capture_enabled_host_ids= method to make sure it set/unsets performance capture on cluster and it's hosts.

https://bugzilla.redhat.com/show_bug.cgi?id=1153047
https://bugzilla.redhat.com/show_bug.cgi?id=1145799
Fixed saving on Input Parameters for Automate Method.

- Fixed to set/save default value for datatype of an Automate Method Input field to be 'string'.
- Fixed saving of input parameters when adding a new Method.

https://bugzilla.redhat.com/show_bug.cgi?id=1161761
https://bugzilla.redhat.com/show_bug.cgi?id=1161701
add `database_version` to the connection object

This method was implemented in the Rails fork, but I think it's safe to
move over to the application as a monkey patch.  We'll extract it to a
gem later.

This implementation differs from the original in that it doesn't cache
the value of the database version.  I think this is OK for two reasons:

1. It's not a hotspot (that I can tell) so there shouldn't be a perf
impact.

2. The cached version could be wrong if we disconnect then reconnect.
Avoid checking if "services" tenant is accessible

It appears that checking whether the "services" tenant is accessible in
Openstack causes a barrage of "401 Unauthorized" errors in the logs.  Based on
how we handle it in the OpenstackHandle, it does not appear to be a fatal error.

However, cleaning up this error will make diagnosing problems via the logs much
easier.

https://bugzilla.redhat.com/show_bug.cgi?id=1140174
bump ruby to 2.0.0-p598
upgrading acts_as_tree

the older version was not compatible with Rails 4, so it was blocking
the upgrade
Merge pull request #1058 from jcarter12/availability_zone_start_page

Fixed the linking for user start page to availability zones.
Merge pull request #1059 from jrafanie/bump_ruby_version

bump ruby to 2.0.0-p598
Bump rails fork to latest tag with database_version reverted
Merge pull request #989 from h-kataria/fix_to_show_uniq_tag_categories

Changes to show tag category only once for each base class.
Merge pull request #1044 from h-kataria/c&u_checkboxes_fix

Don't send up all_checked checkbox IDs upto server on onselect event.
Merge pull request #1061 from tenderlove/acts_as_tree

upgrading acts_as_tree
Merge pull request #1053 from blomquisg/bz1140174-rhos-401-errors

Avoid checking if "services" tenant is accessible
Merge pull request #1048 from tenderlove/database_version

add `database_version` to the connection object
Merge pull request #1028 from h-kataria/automate_method_editor_fix

Fixed saving on Input Parameters for Automate Method.
Update and simplify spec

https://bugzilla.redhat.com/show_bug.cgi?id=1161322
[Openstack][provisioning] use Security Group ems_ref instead of name

Openstack allows you to create multiple security groups with the same name
If you attempt provisioning by name and there are multiple matches,
you will will receive an API error (HTTP 409 or 500).  Using the ems_ref
is guaranteed unique.  We display the name and description in the dialog,
so no further changes are required

https://bugzilla.redhat.com/show_bug.cgi?id=1161322