Make Tool instances update metadata for their own output files
Use datetime.datetime instead of float for timestamp storage/handling
Fix incorrect call and implementation of FileMetadata.__setstate__()