Force ASCII-8BIT since the default encoding for scripts is UTF-8 in 2.0.

See https://www.ruby-lang.org/en/news/2013/02/24/ruby-2-0-0-p0-is-released/
role delete: check for r/o role and role in a group in model

The following (existing) statement in MiqUserRole class:

    has_many :miq_groups, :dependent => :restrict

will prevent from deleting a role in a group, the 'before_destroy'
statement is to prevent a read only role from being deleted.

Therefore, there's no need to be checking for read only role
and a role in a group in the controller code.

https://bugzilla.redhat.com/show_bug.cgi?id=1126536
group delete: check for a r/o group and group used by users in a model

This fix is:
* to make sure during group removal, the check for a read-only group,
as well as a group still in use by user(s) is being made in the model,
rather than the controller.
* to simplify the (controller) code

https://bugzilla.redhat.com/show_bug.cgi?id=1126536
Add upload_import_file and review_import actions to MiqAeToolsController
Add granular automate import functionality
Support non-admin ems refresh users - OpenstackHandle

OpenStack handle changes required to support ems refresh
using non-admin credentials.
Support non-admin ems refresh users - openstack parser

Openstack parser changes required to support ems refresh
using non-admin credentials.
Support non-admin ems refresh users - test

Test changes required to support ems refresh
using non-admin credentials.
Don't automatically close the shared pipe used to get the DRb URI.

Ruby 2.0+ automatically closes all descriptors except 0, 1, 2 (input/output/error)
in child processes.  We need the child process (the server) to write it's DRb URI to
the writer descriptor so the client can read it.  Set close_on_exec to false
in the writer descriptor so it doesn't get closed on us.
See: https://bugs.ruby-lang.org/issues/5041

Fixes #459
Updates based on code review comments.
Consistent service request list and details pages

This changes the following:
* service request details page: "Date Approved/Denied" ->
  "Approved/Denied on"
* service request list: adds "Approved/Denied By" column

https://bugzilla.redhat.com/show_bug.cgi?id=1138367
Added new columns in the Services List

The following new columns were added to the Services List

- Total VMs
- Total CPUs
- Total Memory
- Total VM Disk Count
- Total VM Disk Space Allocated
- Total VM Disk Space Used
- Total VM Memory on Disk

https://bugzilla.redhat.com/show_bug.cgi?id=1115763
simplify copy_hash / copy_array

the second parameter for copy_hash was only used in one place, so
isolate it there.  The second parameter for copy_array was never used,
so delete it.
Host view rewritten to haml
Merge pull request #695 from mzazrivec/fix_request_list_details

Consistent service request list and details pages
Add user authentication by userid for Ldap user provisioning.

Since at that moment of provisioning the user has already logged in and is defined in the VMDB.

https://bugzilla.redhat.com/show_bug.cgi?id=1139763
Add test cases for User.find_or_create_by_ldap_attr.

https://bugzilla.redhat.com/show_bug.cgi?id=1139763
Remove ruby 2.0 deprecated StringIO#lines by using #each_line.

StringIO#each_line without a block returning an Enumerator exists on ruby 1.9.3 so we can start enjoying this now and remove the 2.0 deprecation.

See: http://www.ruby-doc.org/stdlib-1.9.3/libdoc/stringio/rdoc/StringIO.html#method-i-each_line
Force a binary string literal as binary for ruby 2.0+.

See #218 #465 #589

Ruby 2.0 reads Strings in ruby scripts by default as UTF-8 unless you specify a magic comment #coding or force the encoding.

Binary string literals, if they can't be converted to UTF-8, will not be equivalent to their binary string counterparts:

```
"\222dL\256".force_encoding("ASCII-8BIT") == "\222dL\256".force_encoding("UTF-8")
=> false
```

Whereas, compatible conversions will be equivalent:

```
"\001\002".force_encoding("ASCII-8BIT") == "\001\002".force_encoding("UTF-8")
=> true
```
Merge pull request #682 from jrafanie/dont_close_fd_on_exec

Don't automatically close the shared pipe used to get the DRb URI.