(NC-107) Update environments of groups.

Just do a whole-sale update of the environment_name field in the group,
group_classes, and group_class_parameters tables. Foreign-key
constraints will blow up if the classes the group sets parameters for
don't exist in the new environment, or do exist but don't have all the
parameters that the group sets. In the future, this would be a good
occasion to refresh our view of puppet's classes for the target
environment.
(NC-107) Acceptance test for group env updates.

Also test that when updating a group's environment fails, we get an
message in the response telling us what is missing from the database
that we assumed was there.
Merge pull request #24 from pcarlisle/uberjar-version

Simplify constructing the uberjar name
Merge pull request #21 from aperiodic/nc-107-environment-updating

(NC-107)  Allow changing group environments
Integration test for getting classes from puppet
Add puppetmaster url to configuration
First pass of updating classes from puppet
Allow specifying puppet install type separately from classifier
Puppet from source
(WIP) Merge puppet classes into our db
Add relative-complements-by-key
Merge classes properly
Update integration test
Start importing helper stuff from puppet
More integration work
Fix updater