Allow concat to take non-array second parameters

Also improve and extend concat tests to lock down functionality
(MODULES-603) Add defaults arguments to ensure_packages()

Without this patch one can not specify package resource specific
parameters. All the ensure_packages() function does it makes sure
the named packages are installed. This patch allows one to pass
default as a second argument and allow greater flexibility on
packages installations.

Use case like the following are now possible :
  * ensure_packages(['r10k', 'serverspec'], {'provider' => 'gem'})
  * ensure_packages(['ntp'], {'require' => 'Exec[foobar]'})
Add some acceptance tests for functions.
First set of tests
Add success/fail groups
Add build_csv
Adding more tests
(maint) Remove facter versions test

This test attempts to emulate various versions of facter, but is
still dependent on the version of facter it is running against. The
immediate symptom was that the test breaks with facter 2.0.1 because
it adds another external facts search directory.

I tried a couple ways to stub this but allowing it to pretend
to run against one set of facters, while actually running against
one real facter (which might itself be one of several versions)
eluded me.

So this patch just removes the test.
Merge pull request #239 from kylog/maint/remove-facter-versions-test

(maint) Remove facter versions test
Adjust the regular expression for facts.

Previously this was incorrectly handling facts that were of the form
foo=1+1=2 due to the ='s in the actual fact contents.  Fix this and
add tests to try and prevent regressions.
Merge pull request #242 from apenney/facts_d

Adjust the regular expression for facts.
Merge pull request #238 from Spredzy/add_default_ensure_packages

(MODULES-603) Add defaults arguments to ensure_packages()
Merge pull request #222 from mfoo/fix/master/concat-primitives

Allow concat to take non-array second parameters
Merge pull request #243 from hunner/add_beaker

Add beaker tests for functions.