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
Revisiting rspec verbose

`t.verbose = false` is not the same as leaving it blank
Remove dependency on platform gem since it may not be available.
Add initial Travis CI support
Use the generic CI env var instead of CC_BUILD_ARTIFACTS where needed.

Renamed .rspec_cc files to the more general .rspec_ci.
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 #133 from kbrock/non_verbose_specs

Revisiting rspec verbose
Merge pull request #132 from Fryguy/travis_ci

Add initial Travis CI support