Several enhancements to datastore support for the SCVMM integration

1)	Extended datastore support to include a datastore object for the local storage on the hyperv box. Explicitly filtered out "System Reserved" volume in the powershell script since we will not provision there.
	There were several ways to gather both local and shared storage; the simplest yet most economical way was to change the powershell script to gather the disk volumes in the get_host() function while we are gathering the host objects, this avoids making an extra powershell call.
2)	Changed the VM location property to be the location of the VMC file ( vm config file) minus the drive.
3)	Changed the datastore name to be a URI and to include the hostname in addition to the volume name.

FYI - 2) and 3) above will be concatenated to enable fleecing.

All of the above changes involved modifications to the spec tests and generated data files.
Fixed values passed in to get_combo_xml and get_dtype_combo_xml calls.

Fixed values passed in to get_combo_xml and get_dtype_combo_xml calls methods to rebuild Type and Data Type DhtmlxCombos on schema editor screen.

https://bugzilla.redhat.com/show_bug.cgi?id=1087930
https://bugzilla.redhat.com/show_bug.cgi?id=1109984
Replace C Binding for VixDiskLib with FFI Binding

and integrate it with DRB to allow for client/server use
Allow FFI Enum values to be exposed as constants correctly and alias VixDiskLibFFI binding class as old VixDiskLib_raw binding class
Separate VixDiskLibFFI constants so files can include them

without including executable code
Separate VixDiskLibFFI constants so files can include them

without including executable code
Major commit of new binding to VixDiskLib using FFI and DRb.
This is the demo'ed version with the additional change that
the environment variable VIXDISKLIB_BINDING is used to determine
if it will use the FFI binding or the old C binding.
This environment variable code is to be used for comparitive
testing between the two versions and will eventually be removed.
Apply Rubocop & Peer Changes to PR replacing VixDiskLib Binding with FFI

- Insure consistent indentation
- Limit number of lines per method
- Limit length of lines
- Use snake-case when naming methods & vars
- Remove incorrect comment from "ffi" line in Gemfile
- Remove ManageIQ Copyright Comments
- Remove @@connections list and locking for multiple connections per
client since this model will utilize one connection per DRb Service.
- Simplify VixDiskLib passing of Connection return value from DRb.
- Remove VdlConnection method aliasing of disconnect to release in
MiqVimBrokerMods.
- Define $vim_log in MiqVimBrokerClient test
- Don't hard code log directory.
- Add VixDiskLibServer RuboCop suggestions.
- Begin-Rescue block for DRb service handler in VixDiskLibServer
- Add list of DRb services in VixDiskLibClient to handle exit correctly
More Rubocop & Peer Review mods to PR for VixDiskLib FFI Binding

- use $LOAD_PATH instead of $:
- use recommended spacing and remove TABs
- lock around connection handling to make sure we're not exiting
- if exit has been called require another init before a new connection
VixDiskLib FFI Binding Logging Changes for Server

- Make sure the Server picks up the path for the log relative to
the path of the server instead of hard-coding it.
- When the logging methods are not passed to init format the messages
from VixDiskLib itself appropriately
Further Peer Comments from @Fryguy updated in VixDiskLib binding PR.

- Remove extraneous blank lines.
- Remove ");" in API comments copied from VixDiskLib.h file.
- Make methods private when expected.
- Remove unneeded comments (commented out code) & align other comments
- Simplify x.nil? ? nil : foo(x) construct to x && foo(x)
- Remove unnecessary server disk count hash (simple variable suffices)
- replace string concatenation with interpolation
- remove unnecessary init log arguments from client & server and mark
them as ignored by preceding the names with "_" character.
- rename confusing "binding" variable.
- Require VixDiskLibClient init to be called before connect but
do not preclude a second init call from occurring.
- Move individual classes into separate files.  This includes the
DiskInfo, SafeConnectParams, and SafeCreateParams classes from the
vixdisklib_api.rb file, and the VDDKFactory class with associated DRb
startup functionality has been separated from the original VixDiskLib
wrapper classes (VixDiskLib, VdlConnection, & VdlDisk)
Added CRUD support for Automate Domains.

- Added support to Add/Edit/Delete Automate Domains. Moved some of the methods to private area and changed existing code that was being used to add/edit namespaces to be used for add/edit of domains.
- Added support to change priority of Automate Domains.
- Added support to allow users to local/unlock domains. This feature is protected by RBAC, so only users that have access to these features will be able to see these buttons.
- Added product features for the new buttons.
- Changed role_allows? method in user model to check for allows_any? feature when a hidden feature comes in.
- Added spec tests to verify, lock/unlock and priority order change features.
- Fixed any broken spec tests in application_helper specs, deleted any AE related spec tests that aren't valid any more.
- Fixed an issue where correct tabs were not shown as inactive tabs on edit screen.

Issue #2045
Fixed rubocop warnings.

Issue #2045
Cleanup of code from PR reviews.

- Some cleanup in the code where action_url is being set, moved that into its own method.
- More cleanup in the area where attributes are being set for MiqAeField. Changed name of the form field for substitute column so looping over form fields in controller to set MiqAeField attributes gets easier.
- Updated spec test to use miq_ae_domain_enabled and miq_ae_domain_disabled factories.
- Fixed an issue found with Domain delete during testing.

Issue #2045
Added Lock/Unlock parent feature.

- Added Lock/Unlock as a parent feature and made Lock and Unlock features as hidden features under new feature so only a single feature shows up in the Access Control to toggle between Lock/Unlock.

Issue #2045
make rspec run non-verbose
Change MiqAeDatastore upload to use yaml_import.

Modified upload code to use yaml_import for zip file
instead of deprecated xml import. Changed replace option
to mode. Added context and tests for backup, restore and upload.
Merge pull request #26 from h-kataria/ae_domains_crud_ui

Added CRUD support for Automate Domains.
Fixed count of Product Features in spec test.

Issue #2045
Merge pull request #34 from kbrock/rake_not_verbose

add RSPEC_VERBOSE and RSPEC_OPTIONS