added support for CSV/TSV files without header row; refactored CSV/TSV reading code to remove code duplication; added test case for CSV/TSVs without header row; added support for TSV files using replace method