BUG: Respect 'usecols' parameter even when CSV rows are uneven
Closes #12203 by overriding the row alignment checks for both engines when the `usecols` parameter is passed into `read_csv`.

@gfyoung its not necessary for you to keep rebasing every time master is slightly updated.
 @jreback : Oh whoops, sorry!  I have a small script that updates my branches (including `master` in my fork) whenever I see there are commits, and I forgot to specify to just update the `master` branch.
 oh ok maybe just do it manually for a while

trying to get out another rc
 the issue is that Travis runs and it can get very busy
 No, I perfectly understand.  As a precaution, I'll add `[ci skip]` to all of my open PR's, since I imagine there will be changes to be made once reviewed after which I'll remove it so that Travis can run.
 @jreback : Travis has no problems making `CParserError` inherit from `ValueError`, so I think this is also good to merge if there is nothing else.
 need s note in the API changes section wrt error class
 Added note in the API changes.  Should be good to merge if there is nothing else.
 @jreback : Made all of the requested changes.  Should be ready to merge if there is nothing else.
 thanks @gfyoung 
