Allow concat to take non-array second parameters

This allows the concat command to take any object type as the second parameter. It should preserve existing functionality.

I have also expanded upon the existing tests to lock down the current functionality.

I initially used `.concat(x).flatten!`, but realised that if somebody is passing nested arrays as the second parameter then this change will break their existing functionality. A test case was added to ensure this behaviour is preserved for future changes.

As per the contributing guidelines I have signed the contributing agreement and signed up to JIRA, but see no JIRA project for puppet-stdlib. I raised a question about this on the freenode IRC channel but got no response.

Please advise if I've missed anything.