Strip leading/trailing space from fasta names

It has no significance and only serves to confuse when unexpected.

This does make it impossible to construct a name which parses to a null
id and non-null description (previously " foo" worked), but I think that
can be considered a feature not a bug.