BUG: Don't error when usecols is a numpy array
Converts `usecols` to a `set` just like we do on the C engine side.

Closes #12546.

## [Current coverage](https://codecov.io/gh/pydata/pandas/pull/14055?src=pr) is 85.26% (diff: 100%)

> Merging [#14055](https://codecov.io/gh/pydata/pandas/pull/14055?src=pr) into [master](https://codecov.io/gh/pydata/pandas/branch/master?src=pr) will increase coverage by **<.01%**

``` diff
@@             master     #14055   diff @@
==========================================
  Files           139        139          
  Lines         50386      50387     +1   
  Methods           0          0          
  Messages          0          0          
  Branches          0          0          
==========================================
+ Hits          42959      42960     +1   
  Misses         7427       7427          
  Partials          0          0          
```

> Powered by [Codecov](https://codecov.io?src=pr). Last update [51b20de...fe166b7](https://codecov.io/gh/pydata/pandas/compare/51b20de44fdcb998f25392558e029621e10c451c...fe166b78dd99585a0c44f4b3e9b9ec9e7db28205?src=pr)
 @jreback : Simplified the patch, and Travis is still happy.  Ready to merge if there is nothing else.
 @gfyoung Thanks!
