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.
don't you have two of these? move into `Utils`?