Rewrite of 'AASequence::parseString_', increasing robustness of parsing (fixes #818)

Made parsing of amino acid sequences shorter, more modular and less convoluted. Also added "permissive" flag (on by default) to allow more robust parsing (issue #818).

'parseString_' uses the approach of 'parseUnmodifiedString_' (by @timosachsenberg) of querying ResidueDB to check if a character is an amino acid. 'fromUnmodifiedString' and 'parseUnmodifiedString_' were removed, since 'fromString' and 'parseString_' should now offer (almost) the same performance. One difference between the two is that space for the Residue vector is not pre-reserved in 'parseString_', because modifications can mean that the input string is much longer than the amino acid sequence, so space would be wasted. (This problem existed in the previous implementation, where 'parseUnmodifiedString_' would be tried first in 'fromString', so the space would always be reserved.)