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.
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
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
PR Review Changes for configuring External Authentication.

- Instance variable httpdauth replaced with httpd_auth
- Leveraging LinuxAdmin::Rpm methods instead of invoking rpm commands.
- Leveraging LinuxAdmin::Service methods instead of invoking service and chkconfig commands.
Added new dialog_field validator columns to serializer spec.
Resolve an insecure .to_sym call.
Merge pull request #144 from martinpovolny/get_view_to_sym

Resolve an insecure .to_sym call.
Merge pull request #142 from blomquisg/openstack_verify_credentials_bug

Fix EmsOpenstack.verify_credentials sleeper bug
Merge pull request #98 from jrafanie/build_appliances_from_reliable_git_references

Build appliances from reliable git references