Restricting _.union and _.difference to accept arrays only

According to PR #1317, I have restricted `_.union` and `_.difference` to accept only arrays.
This accomplished by adding a new parameter named `strict` to internal `flatten` function.

So we have:

```javascript
_.union([1, 2], 3) // => [1, 2]
_.difference([1, 2], 1) // => [1, 2]
```