fasta.py: change seen_headers into a set

It was previously a dict that mapped each header to None, and was only used
for membership testing. This is what sets are for.