Add support for custom attributes for services

Automation can now use the "custom_keys", "custom_set", and "custom_get"
methods to manipulate the custom attributes on a service.  Any associated
custom attributes are now visible on the service details page.

https://bugzilla.redhat.com/show_bug.cgi?id=1108331
Fix replication with a migration for databases upgraded from v4.

Fix configurations for included_tables and excluded_tables.
Fix triggers on for renamed tables.
Fix rr_pending_changes and rr_sync_states entries for renamed tables.
Fix rr_sync_states entries for removed tables

https://bugzilla.redhat.com/show_bug.cgi?id=1034987
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)
SCVMM - Power operations for VMs
Removed security vulnerability and added error logging

1) Security Vulnerability
Although unlikely, it is possible for the vm name to be tampered with and set to an executable command e.g. "rm -rf".
Instead of "white listing" or making sure the vm name conforms to Internet Standards (and RFC 1123), the GUID is now passed into the DOS power operation command instead of the name. This involves a simpler sanitizing approach - name.guid?

2) If a powershell operation returns an error it is now logged in the scvmm_log file.
Fix miq_ae_datastore spec restore test.
Add export notice to README.md

As advised by Red Hat expert compliance officers, add export notices to README.md for ManageIQ source code in addition to the notice on the website.
Prepended MIQ() to log_header. Removed key? check
Merge pull request #65 from tinaafitz/datastore_spec_fix

Fix miq_ae_datastore spec restore test.
Added missing log .ico file

https://bugzilla.redhat.com/show_bug.cgi?id=1108541
Merge pull request #68 from epwinchell/missing_log_icon

Added missing log .ico file
Merge pull request #22 from bronaghs/scvmm_powerops

SCVMM - Power operations for VMs