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]'})
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