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
Merge pull request #135 from epwinchell/missing_powerstate_images

Added missing power state images
Adding support for /api/request_tasks collection

Updating the api.yml to add the request_tasks collection
that leverages the AR MiqRequestTask Model.
Merge pull request #141 from abellotti/rest_api_support_request_tasks

Adding support for /api/request_tasks collection
Merge pull request #14 from dillaman/bz1085158-service-dialog-regex-validation

Add optional regexp validation to service dialogs
Made changes to instance add/edit code to remove AR Objects from @edit

- Changed code to add/edit Instance to not store AR Objects in @edit instead store required fields into array of hashes. Made some minor cleanup along the way to methods edited in this commit.
- Changed view to use hashes to access data instead of AR Object.

https://bugzilla.redhat.com/show_bug.cgi?id=1114747
https://bugzilla.redhat.com/show_bug.cgi?id=1115652
Made suggested changes from PR review.

Removed code duplication from initial_setup_for_instances_form_vars method.

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