Adding _.combine

Adding array builder `combine` that returns an array containing all
possible combinations using one element each from the given arrays.
replaced last reduce with map

Innermost reduce call should of course be a map! Thanx @megawac!
namechange

changed from `combine` to `combinations` as per suggestion from @fogus
made sure initial array elements are preserved

Code comment from @megawac made me realise that if initial arrays
contained array elements, those were flattened which is not what we
want. This commit fixes that (and adds tests).
Merge pull request #168 from krawaller/master

Adding _.combine