Short writes are not treated correctly in FilePOSIX transport

Created by: keichi

Currently, ADIOS2 aborts when POSIX write() writes fewer bytes than requested. Short writes are explicitly allowed in the POSIX specification and need to be treated correctly (repeat write() until no unwritten data is left).

https://github.com/ornladios/ADIOS2/blob/ebb0c217e51ce415e066c5cab3c9b71b53271bf5/source/adios2/toolkit/transport/file/FilePOSIX.cpp#L81-L101