Fix do-notation FastaReader constructor

previous version used to work but is no longer allowed;
the output type has to be passed as argument now rather than
as a parametric type.
Documentation is updated accordingly.
Fix FastaWriter close function

Avoid trying to write to closed streams to prevent errors
from the finalizer.