Add Build::GitCheckout to convert the VERSION file to git references.

From the VERSION file, we can determine the branch or tag to we want to build from and then determine a consistent commit_sha for the build.
Use Build::GitCheckout to checkout the right branch and commit sha1.
Clients of this class should only need to read these variables.
Change appliance filename generation to include the git sha1.

Before:
manageiq-nightly-vsphere-201406242000.ova

After:
manageiq-vsphere-nightly-201406242000-50fcc563c8.ova
Externalize the git repository to make GitCheckout more generic.
Align whitespace.
Make this script 1.8.7/1.9.3 compatible.

The current directory was removed from the Ruby load path in 1.9.
Checkout the branch of the tag, not the tag itself.

By convention, the VERSION file will contain a branch such as master or anand or a tag such as anand-1.

When the build.rb is run:
For master branch, we want to checkout master and reset to the sha1 of master.
For anand branch, we want to checkout anand and reset to the sha1 of anand.
For anand-1 tag, we want to checkout anand branch and reset to the commit that anand-1 references.
rake build:upload learned to upload VERSION file.

build.rb now depends on having the VERSION file locally via Build::GitCheckout.
Note: existing scripts expecting to run ruby ~/manageiq/build.rb need to be updated to use the new location: ruby ~/manageiq/build/build.rb
Rename @branch_or_tag to ref and memoize on first use.
Fix EmsOpenstack.verify_credentials sleeper bug

There's a bug in the way that the auth_type is merged into the options used by
EmsOpenstack.verify_credentials.  Fortunately, it's obscured by the conditional
assignment operator on the first line of the method.

Now the options are merged into the original hash.

This fix will be hard to test since there is no demonstrable way to produce an
actual problem.
Add optional regexp validation to service dialogs

Text boxes now expose a drop-down for validator type and
a text field for validator rule. When 'Regular Expression'
is selected for the validator type, user input will be
matched against the provided validator rule. This is similar
to how Foreman validates user input for Smart Variables.

https://bugzilla.redhat.com/show_bug.cgi?id=1085158
Added missing power state images

https://bugzilla.redhat.com/show_bug.cgi?id=1113462
Adding support for configuring External Authentication

- New menu entry "Configure External Authentication (httpd)"
- Checks for pre-requisites
- Validates the IPA Server is reachable
- Uninstalls/Re-Installs and configures the IPA Client
- Configures ipa/pam/sssd/httpd/SELinux
- Restarts sssd and httpd
Change EmsFolder#hidden? to allow for overrides.

https://bugzilla.redhat.com/show_bug.cgi?id=1086015
Add Hash#sort! and Hash#sort_by! core extensions.

https://bugzilla.redhat.com/show_bug.cgi?id=1086015
Split out x_build_single_node from x_build_node.

https://bugzilla.redhat.com/show_bug.cgi?id=1086015
Bypass tree walking code with an upfront query for the vandt tree.

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

This change improves performance via a pipeline of methods that
- Query the entire vandt tree using the Relationship model.
- Prune the tree as much as possible for unused parts
- Prune via RBAC and remove empty folders
- Sort the tree
- Preload records for what's left
- Convert the relationship tree to a UI tree structure for dynatree.

The spec against a real database has gone from 23.1s to 4.3s, which is
an 81% improvement.  Cumulative performance including ee267dc9, the spec
has gone from 33.2s to 4.3s, which is an 87% overall improvement.

Note that the performance is also consistent regardless of the depth of
the folder structure of the tree.
Added a check to add parent nodes only on trees other than vandt tree.

Added a check to add parent nodes based on @sb[:open_nodes] only when active tree is not vandt tree. VandT tree no longer needs to add parent nodes when clicking on a VM as we are building full tree on initial load so all parent nodes already exist in the tree.

https://bugzilla.redhat.com/show_bug.cgi?id=1086015
Change badges to use the nicer ones at shields.io