(NC-90) Allow source installs using make
Use the pre_tar_task in build_defaults instead of overriding the tar task
(NC-90) Make installing from source work in integration tests
Merge pull request #35 from pcarlisle/nc-90-source-install

Nc 90 source install
Merge pull request #34 from aperiodic/nc-143-hierarchy

(NC-143) Group hierarchy in storage.
Pass the puppet_libdir into make in redhat spec file
(maint) Fix some integration test issues.

First off I just broke them after adding the parent field to groups and
not updating the tests to supply it.

Fix a race condition between our clojure webapp compiling and
registering with Jetty (which happens after Jetty begins to accept HTTP
requests) and our first integration test running that would cause the
tests to fail some of the time on my machine. The fix is to poll a real
classifier endpoint (specifically '/v1/environments') in the
`sleep_until_started` helper until it stops 404ing (indicating that
Jetty is routing requests to the classifier handler).
NC-145 WIP: validate parameters w/out inheritance
(WIP) (NC-144) Implement inheritance for groups
fixup into validate parameters commit
(maint) Validate resources in http test.
(maint) Move class storage fns above group ones.

Since groups depend on pretty much all the other storage functions.
(NC-145) Validate hierarchy on group change.

Whenever a new group is created or a group is updated, the subtree of
the hierarchy rooted at the group in question taking into account any
modifications by the request being serviced is validated for missing
classes or class parameters. If any are found, the action is aborted and
a structured error message is sent to the user, with both
a human-readable message and a machine-readable listing of every missing
class and parameter that includes where the error was encountered and
which group originally defined it.

Doesn't have any tests that ensure children are checked when changing
a group's parent.
WIP: tests for hierarchy validation