Allow user's `columnNames` option to override first row *header) of CSV

This can replace the ugly headers in `ugly-header.csv`.
```javascript
var reader = csv.createCsvFileReader(filepath, {
  columnsFromHeader: true,
  columnNames: ["_id", "name"]
});
```

`ugly-header.csv`
```
"LoginName","EnglishFullName"
"vadar", "Darth Vadar"
"luke", "Luke SkyWalker"
```