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.
Merge pull request #98 from jrafanie/build_appliances_from_reliable_git_references

Build appliances from reliable git references