Union and Difference Accept Only Arrays

Based on #1428, I tweaked things a bit more (comments inline).

@michaelficarra I also dislike the extra boolean argument but I'm not sure what to do about it as all the other methods I can think of are a performance compromise (options hash, separate filter).  I'm not a big fan of co-opting `_.flatten` at all but it otherwise we're essentially including it twice.  Suggestions welcome!