Ensure unloadFMU is called only if FMU instance (pointer) exists
Previous assumptions of unloadFMU was that there was a valid C-level
pointer to cleanup and pass to the FMU model's cleanup functions.
However, if only loadFMU is called prior to unloadFMU, then JVM would
crash with an access violation exception. I introduced a boolean for
instantiated to keep track of this to ensure we avoid future crashes if
unloadFMU is called directly after loadFMU.
gitlab #13
Change-Id: Idef742d6805e856617c3c95c0bb751d8a48caa0d
(cherry picked from commit
bc0dbe3b8e68fb3373b6b5865b69eccadad4b2fc)