Fix _.intersection to take intersection with a none array

It seems that underscore considers none array arguments of sets related operations as single-member sets.

```javascript
_.union([1], [2])
// => [1, 2]
_.union([1], 2)
// => [1, 2]

_.difference([1, 2], [1])
// => [2]
_.difference([1, 2], 1)
// => [2]
```
But `_.intersection` acts differently:

```javascript
_.intersection([1, 2], [1])
// => [1]
_.intersection([1, 2], 1)
// => []
```

The suggested changes can fix the problem.