PUP-1724 Don't modify the paramaters to deep_merge

Instead of modifying the first paramater of deep_merge due to the
use of the merge! function, instead use merge to return a copy of
the merged object. This allows one to continue to use the original
first parameter after the call to deep_merge.
hash example has misplaced comas
Allow concat to take non-array second parameters

Also improve and extend concat tests to lock down functionality
Supported Release 3.2.1

Summary
This is a supported release

Bugfixes
- Fixed `is_integer`/`is_float`/`is_numeric` for checking the value of
  arithmatic expressions.

Known bugs
* No known bugs
Merge pull request #227 from hunner/add_support

Supported Release 3.2.1
Patch metadata
Merge pull request #228 from hunner/fix_metadata

Patch metadata
Numerous changes to update testing gems.

This work updates a number of Gems to the latest versions (rspec,
rspec-puppet), and updates and tweaks a bunch of tests to work
with the updated gems.
Merge pull request #230 from apenney/fix-testing

[WIP] Spec overhaul.
Numerous changes to update testing gems.

This work updates a number of Gems to the latest versions (rspec,
rspec-puppet), and updates and tweaks a bunch of tests to work
with the updated gems.
Remove pry, whoops.
Readd location_for

location_for is used in Jenkins to transform a passed in git
repo into something usable by bundler.
Merge pull request #232 from apenney/add-back-location

Readd location_for
Make sure location_for is used when installing Puppet.
Merge pull request #233 from apenney/add-back-location

Make sure location_for is used when installing Puppet.
Ensure Gemfile retains facilities for Jenkins.
Merge pull request #221 from puphpet/hash-fix

hash example has misplaced comas
Merge pull request #220 from mediatemple/fix/master/deep_merge_fix

PUP-1724 Don't modify the paramaters to deep_merge
Add beaker framework.

This prepares the module for beaker acceptance tests.
Merge pull request #234 from apenney/add-beaker

Add beaker framework.