(#18577) Extend Hiera to support Proper Yaml Syntax

This patch extends the yaml backend for hiera (and thus puppet ;)
such that key/values in this syntax;

  nginx::sendfile: on
  nginx::worker_connections: 10
  nginx::gzip: on
  nginx::tcp_nopush: on

Can now be specified in Yaml syntax, Eg;

  nginx:
    worker_connections: 10
    sendfile: on
    tcp_nopush: on
    keepalive_timeout: 0
Add support for a hiera variable syntax which interpolates data by
performing a hiera lookup

[Redmine Ticket](https://projects.puppetlabs.com/issues/21367)

This commit adds support for interpolating hiera data in a similar
fashion to how scope interpolation functions in hiera. This commit adds
the syntax `^{foo}` to differentiate hiera lookups from scope lookups,
`%{foo}`.

ips.yaml

    potto01_ip: 10.10.1.52

pott01.yaml

    firewall_rules:
      - "0.0.0.0:22:^{pott01_ip}"

When evaluating the string, `"0.0.0.0:22:^{pott01_ip}"` hiera would
lookup the value for pott01_ip in hiera and interpolate that into the
string, the result being, `"0.0.0.0:22:10.10.1.52"`. This avoids having
to repeatedly perform this type of lookup logic in puppet and allows you
to use your hiera data from within hiera itself.
(packaging) Use the packaging loader for tasks

The packaging repo now uses an explicit loader which handles loading the
various rake tasks in packaging. This commit updates the hiera Rakefile to use
the loader instead of a blind glob of the ext/packaging/tasks directory.  We
move this load into the rescue LoadError block because the packaging repo won't
always be there.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
(packaging) Remove Ubuntu Oneiric from build targets

Oneiric is EOL, and we are no longer building for it. This commit removes the
Oneiric target from the build list for hiera.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Remove unused patchsys-quilt.mk from rules

We don't use this in hiera, and it's causing unusual errors in our latest and
greatest jenkins setup. This commit removes it.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Merge pull request #138 from MosesMendoza/add_loader

Add loader
(packaging) Use the packaging loader for tasks

The packaging repo now uses an explicit loader which handles loading the
various rake tasks in packaging. This commit updates the hiera Rakefile to use
the loader instead of a blind glob of the ext/packaging/tasks directory.  We
move this load into the rescue LoadError block because the packaging repo won't
always be there.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
(packaging) Remove Ubuntu Oneiric from build targets

Oneiric is EOL, and we are no longer building for it. This commit removes the
Oneiric target from the build list for hiera.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Remove unused patchsys-quilt.mk from rules

We don't use this in hiera, and it's causing unusual errors in our latest and
greatest jenkins setup. This commit removes it.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Add ignore entry for Eclipse specific .project file

The Eclipse IDE adds a .project file to the root of each project.
This commit ensures that the file is ignored and doesn't get
inadvertently committed.
Change hiera and scope lookup syntax to use a single sigil for interpolation

Use '%' for both types of interpolation. Instead of multiple sigils use
a method syntax to differentiate interpolation lookups:

  - Scope lookup: `%{scope("potto01_ip")}`
  - Hiera lookup: `%{hiera("potto01_ip")}`
Merge pull request #139 from thallgren/master

Add ignore entry for Eclipse specific .project file
Adding vCloud node configs
Setup script to install Git on vCloud hosts
(RE-47) update hiera.spec and build_defaults to include F19
Merge pull request #140 from sschneid/vcloud_acceptance

vCloud acceptance
Merge pull request #141 from melissaanne/maint/1.x/f19_updates

(RE-47) update hiera.spec and build_defaults to include F19
Merge branch 'stable'
(Bug #22166) rm hardcoded hostname dependencies

Prior to this, we had hardcoded burji.puppetlabs.com into
build_defaults.yaml. Since this isn't particularly elegant, this commit
takes that out, and instead uses cnames that point to the right place,
be it burji, or something newer (like burji2)
Merge pull request #143 from melissaanne/maint/stable/rm-hardcoded-dependencies

(Bug #22166) rm hardcoded hostname dependencies