(HI-281) Add YAML output format to CLI

Just add YAML output to HI-129. I use hiera with other tools like
Salt (custom 'backend') and yes, i can directly parse from JSON.
But YAML is more "elegant" than JSON and I can directly use
safe_load with pyyaml.
Test: ```hiera -f yaml -c /etc/hiera.yaml key```
(maint) Fix rake spec tests

Currently the Rakefile is setup to load files for building the release
packages but is erroring out before `rubygems` and `rspec/core/raketask` are
being loaded causing the rake spec tasks to not be created only if the
packaging repo has not been bootstrapped. This prevents you from running
`rake spec` in a bare repository.

This commit changes the loading order so that rake will gracefully load
the file and create the rake spec tasks regardless of if the packaging
repo has been bootstrapped or not.
(HI-289) expand Hiera basic functionality acceptance tests
  three tests added:
  lookup_data_no_options tests a simple priority lookup of a string from
    CLI
  default_value_if_key_not_found tests that default value is used when
    key not found from CLI
  check_first_backend_hierarchy_first test multiple backends to ensure
    each hierarchy is checked in order as in the config file

expand basic functionality tests to work in windows and
solaris11.
make tests more atomic

refactor tests based on feedback from John and Kurt.
reduce windows conditionals and namespace use.
eliminate possible namespace collision with agent object.

make more fixes based on John's comments
test file exists before backing up any previous config file.
remove spurious acceptable exit codes.