Tests for VCFTable and deriveColumns()

This:

- Adds a `Utils` test class and uses it to simplify some test code.
- Moves `deriveColumns` into vcf.tools.js and adds a unit test for it.
- Adds unit tests for VCFTable
- Changes VCFTable to use object equality for selected headers, rather than reference equality (helpful for testing, and seems more correct).
- Removes some unused `props` & adds `propTypes` for others.
JS doesn't allow operator overloading, so I'm not sure how that would work. A preprocessor could do it, though.

I specifically can't do `el => el == column` here, since that would test for reference equality.