attribute: fix reading of NULL-padded string arrays

The padding of the memory datatype must coincide with the padding of the
file datatype. Simply re-use the file datatype in H5Aread.

Potentially, there could be an issue with SPACE-padded strings (which
should be converted to NULL-padded). However, selecting SPACE padding
upon writing did not change the way h5dump displays the attribute
(although the different padding was shown). Using FORTRAN_S1 as String
type (which has space padding by default) compiles but is still reported
as C_S1 by h5dump and everything is filled up with '\0'. Probably a
genuine Fortran code would be needed to generate such a file.

Second fix: don't explicitly include the trailing '\0' for
NULL-terminated strings. The strings are delimited by '\0', but have
STRSIZE characters at most.