- rewrote upsert method to be general enough to handle: (1) upserting in chunks or not (2) tsv or csv files (3) with or without a header row
- added tests for new upsert method
- added support for TSV in upsert method
- fixed minor issue with saving absolute path to a saved .sij file
- before upsert trim leading and trailing whitespace in CSV header column