(maint) remove lines with only spaces
(maint) Fix iteration functions not behaving to spec for hash

When calling iteration functions collect, reject, and select with
a hash there were cases where only hash key was passed to the given
lambda. This commit corrects this by ensuring that it is always
a key/value tuple that is passed.

This commit also includes improved tests for these cases as well
as argument checking.
Merge branch 'master' of ssh://github.com/puppetlabs/puppet.git